Avatar billede kris75 Mester
10. december 2008 - 10:47 Der er 26 kommentarer og
1 løsning

Side til upload af tekst og billeder

Hej
Jeg har i forbindelse med et joomla site brug for en privat side til mine brugere, hvor de kan uploade 4 fotos og noget tekst. Jeg har søgt omkring på forskellige joomla hjemmesider, men har ikke rigtigt fundet det jeg søgte. Er der nogen der ved om det findes et sted, eller er det noget jeg selv kan lave i Dreamweaver f.eks. Er ikke helt skrap til php kodning. Desuden ved jeg ikke helt hvordan jeg får det koblet sammen med min joomla database, hvis det skal laves i Dreamweaver. Håber der er nogen der kan hjælpe mig. Ved ikke helt hvordan jeg skal gribe det an.
På forhånd tak.
Kris
Avatar billede jakobdo Ekspert
10. december 2008 - 12:23 #1
Du kunne kigge på en artikel ala: http://www.eksperten.dk/artikler/1200
Avatar billede jakobdo Ekspert
10. december 2008 - 12:23 #2
Eller måske blot denne: http://www.eksperten.dk/artikler/1098
Den skal selvfølgelig udbygges, med flere felter til dine 4 billeder og noget tekst.
Avatar billede kris75 Mester
10. december 2008 - 12:34 #3
Der ser ganske fint ud, hvad så hvis man skal kunne gemme noget tekst, også på siden. Og sidst, kan man integrere det i joomla, så det bliver en privat side med joomla login?
Avatar billede jakobdo Ekspert
10. december 2008 - 16:09 #4
Joomla kender jeg ikke til, så der vil jeg ikke begynde at spille klog. :o)
Avatar billede kris75 Mester
10. december 2008 - 16:17 #5
ok :-) Er det muligt at få vist billedet på siden når det er uploaded, gerne i thumbs format, som man så kan gøre større til billedets aktuelle størrelse?
Avatar billede jakobdo Ekspert
10. december 2008 - 16:44 #6
Så skal du kigge på min første artikeln /1200
Avatar billede kris75 Mester
10. december 2008 - 18:17 #7
Som sagt er php ikke min stærke side ;-) Kan du ikke forklare hvad jeg skal gøre med koden i artikel 1200, skal den ind på en ny .php side?
Avatar billede jakobdo Ekspert
10. december 2008 - 18:52 #8
Du skal smide hele koden i en php fil og ellers gøre som der står i comments.
Avatar billede kris75 Mester
11. december 2008 - 10:48 #9
Jeg kan ikke få vist billedet på samme side når det er uploadet, selvom jeg har rettet koden til:

<?php
//SETTINGS
$uploadDir        = 'upload/'; //Bibliotek, hvor filer uploades til - husk chmod 777
$allowedFileTypes = array('jpg','gif','png'); //Hvilke filer vil vi acceptere bliver uploadet?
//THUMBS SETTINGS
$thumbDir        = 'upload/thumbs/'; //Bibliotek, hvor thumbs gemmes - husk chmod 777
$thumbPrefix      = 'thumb_';  //Hvad skal tilføjes til originalt filnavn?
$thumbHeight      = 800;      //Thumb højde
$thumbWidth      = 800;      //Thumb bredde
$thumbQuality    = 85;        //Kvalitet af thumb, kan være fra 0 - dårligt til 100 - bedst

//Funktioner som bruges:
function getExtension($filename){
    return strtolower( pathinfo( $filename, PATHINFO_EXTENSION ) );
}

function resize( $filename, $newfilename, $maxw, $maxh, $quality=85 )
{
  $extension = getExtension($filename);
  switch($extension)
  {
    case 'jpeg':
    case 'jpe':
    case 'jpg':
      $srcim = imagecreatefromjpeg( $filename );
      break;
    case 'gif':
      $srcim = imagecreatefromgif( $filename );
      break;
    case 'png':
      $srcim = imagecreatefrompng( $filename );
      break;
    default:
      return false;
  }
  $ow = imagesx( $srcim );
  $oh = imagesy( $srcim );
  $wscale = $maxw / $ow;
  $hscale = $maxh / $oh;
  $scale = min( $hscale, $wscale );
  $nw = round( $ow * $scale, 0 );
  $nh = round( $oh * $scale, 0 );
  $dstim = imagecreatetruecolor( $nw, $nh );
  imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
  switch($extension)
  {
    case 'jpeg':
    case 'jpe':
    case 'jpg':
      imagejpeg( $dstim, $newfilename, $quality );
      break;
    case 'gif':
      imagegif( $dstim, $newfilename );
      break;
    case 'png':
      $png_q = floor( abs( $quality / 10 - 9.9 ) );
      imagepng( $dstim, $newfilename, $png_q );
      break;
    default:
      return false;
  }
  imagedestroy( $dstim );
  imagedestroy( $srcim );
  return file_exists($newfilename);
}

//Er der trykket på Upload file knappen?
if(isset($_POST['myUpload']))
{
  //Har vi en fil?
  if(is_uploaded_file($_FILES['myFile']['tmp_name']))
  {
    //Filendelse
    $extension = getExtension($_FILES['myFile']['name']);
   
    //Er filen en af de filer vi gerne vil have?
    if(in_array($extension,$allowedFileTypes))
    {
      //Vi flytter filen fra tmp til vores UPLOADDIR
      if(move_uploaded_file($_FILES['myFile']['tmp_name'],$uploadDir . basename($_FILES['myFile']['name'])))
      {
          if(resize($uploadDir . basename($_FILES['myFile']['name']), $thumbDir . $thumbPrefix . basename($_FILES['myFile']['name']), $thumbWidth, $thumbHeight, $thumbQuality)){
              echo '<h3 style="color:green;">File ('.basename($_FILES['myFile']['name']).') uploaded and resized succesfully</h3>';
          }else{
            echo '<h3 style="color:red;">File ('.basename($_FILES['myFile']['name']).') uploaded succesfully, but resize failed</h3>';
        }
      }
      else
      {
        echo '<h3 style="color:red;">Error - unable to upload file: '.basename($_FILES['myFile']['name']).'</h3>';
      }
    }
    else
    {
      echo '<h3 style="color:red;">Wrong filetype, allowed filetypes are: ('.implode(',',$allowedFileTypes).')</h3>';
    }
  }
  else
  {
    echo '<h3 style="color:red;">No file selected<h3>';
  }
}

//Vores form
echo '<form action="upload.php" method="post" enctype="multipart/form-data">';
echo 'File ('.implode(',',$allowedFileTypes).'): <input type="file" name="myFile"><br />';
echo '<input type="submit" name="myUpload" value="Upload file">';
echo '</form>';

?>


Hvad skal der gøres?
Avatar billede jakobdo Ekspert
11. december 2008 - 10:51 #10
Hvor er din kode som viser billedet ?
Avatar billede kris75 Mester
11. december 2008 - 11:29 #11
Ah ja, hvor finder jeg den henne?
Avatar billede jakobdo Ekspert
11. december 2008 - 11:33 #12
Hvis resizet korrekt, kan du finde stien navn og sti her:

$thumbDir . $thumbPrefix . basename($_FILES['myFile']['name'])

Det fulde billede:

$uploadDir . basename($_FILES['myFile']['name'])
Avatar billede kris75 Mester
11. december 2008 - 11:51 #13
Så får jeg følgende fejl:
Parse error: syntax error, unexpected T_VARIABLE in /var/www/virtual/htdocs/joomla/upload.php on line 112

Hvad kan det være? Det er i den kode der lige er blevet indsat.
Avatar billede jakobdo Ekspert
11. december 2008 - 12:02 #14
Ja, men hvis du bare indsætter den, så vil den give fejl.
Kan du php ?
Avatar billede kris75 Mester
11. december 2008 - 12:10 #15
nej, ikke det store desværre. Skulle bare bruge denne side i php.
Avatar billede kris75 Mester
11. december 2008 - 12:17 #16
Kender du ikke nogle sider hvor man kan få en grundliggende forståelse for php?
Avatar billede kris75 Mester
11. december 2008 - 12:18 #17
Evt. med forskellige koder og eksempler. også gerne bøger..
Avatar billede jakobdo Ekspert
11. december 2008 - 12:19 #18
http://dk.php.net - PHP Manualen.
Og for at lære php, skal man springe ud i det og kode.
Så den lille opgave ville være et godt sted at starte.
Du kan evt. starte med at kigge koden igennem og slå hver funktion op på php.net.
Så får du en ide om hvad der gør hvad.
Avatar billede kris75 Mester
11. december 2008 - 12:25 #19
Super, tak for det. Kunne du lige til sidst sige mig hvad jeg gør for at få vist billedet.
Resizet er korrekt kan jeg se på serveren.

Hvis resizet korrekt, kan du finde stien navn og sti her:

$thumbDir . $thumbPrefix . basename($_FILES['myFile']['name'])

Det fulde billede:

$uploadDir . basename($_FILES['myFile']['name'])
Avatar billede jakobdo Ekspert
11. december 2008 - 12:29 #20
tilføj:

echo '<img src="' . $thumbDir . $thumbPrefix . basename($_FILES['myFile']['name']) . '" alt="resize" />';
Avatar billede kris75 Mester
07. januar 2009 - 19:36 #21
Hej igen jakobdo
Undskyld jeg ikke har vendt tilbage før nu, men har lige været optaget af et andet projekt. Skulle billedet ikke blive til et thumb billede på siden?
Avatar billede jakobdo Ekspert
07. januar 2009 - 21:27 #22
Hvis du anvender resize funktionen korrekt, så skulle det jo.
Avatar billede kris75 Mester
08. januar 2009 - 19:21 #23
Hvordan skal jeg forstå det, hvad kan jeg gøre galt i resize funktionen, den siger at resize er ok? Du må gerne også gerne sende et svar for alt dit arbejde :-)
Avatar billede jakobdo Ekspert
08. januar 2009 - 20:12 #24
Svar!
Men virker thumb ikke ?
Eller viser den bare ikke thumb ?
Avatar billede kris75 Mester
08. januar 2009 - 21:05 #25
Thumb virker, men den viser bare det fulde billede på siden.
Avatar billede jakobdo Ekspert
08. januar 2009 - 21:11 #26
Så er det vel en forkert sti i <img ....> du henviser til. :o)
Avatar billede jakobdo Ekspert
08. januar 2009 - 21:11 #27
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester