FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Hej!
Jag har ett PHP-script som laddar upp bilder och ändrar storleken på dem. Problemet är bara att jag får ett felmeddelande som jag inte kan hitta någon lösning på. Jag har även testat mede imagecopyresized och får samma felmeddelande. Om någon kan hitta felet vore jag jättetacksam!!? ![]() Felmeddelande: ------------------- Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/b/botema/www/adminpic.php on line 89 Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/b/botema/www/adminpic.php on line 91 Filen är uppladdad till servern och informationen är inlagd i databasen! Kod: ------ $filnamnet = basename($_FILES['filen']['name']); //Filnamnet $servernamn = $_FILES['filen']['tmp_name']; //Tempfilen på servern list($filminusext, $ext) = explode(".", $filnamnet); if ($ext == "jpg") { $path = dirname(__FILE__); $uploaddir = $path . '/bilder/brf/'; $uploadfile = $uploaddir . $filnamnet; $targetfile = $uploadfile; if (move_uploaded_file($servernamn, $uploadfile)) { list($width, $height) = getimagesize($uploadfile); if ($width > $height) { $forhallande = $height / $width; } else { $forhallande = $width / $height; } $newwidth = 150; $newheight = round(abs($newwidth * $forhallande)); $destimg = imagecreatetruecolor($newwidth, $newheight); imagecopyresampled($destimg,$uploadfile,0,0,0,0,$n ewwidth,$newheight,$width,$height); imagejpeg($destimg,$targetfile,80); imagedestroy($uploadfile); imagedestroy($destimg); |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Mycket flitig postare
|
Verkar inte som att scriptet hittar bilden. Rätt sökväg?
|
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Nykomling
|
Japp.
Alla sökvägar till filen som jag hämtar med koden: $path = dirname(__FILE__); $uploaddir = $path . '/bilder/brf/'; $uploadfile = $uploaddir . $filnamnet; är rätt. Ändå verkar det vara den filen som felmeddelandena gäller. En fil med rätt storlek skapas, $destimg = imagecreatetruecolor($newwidth, $newheight); alltså den mindre storleken. Men den utför inte raden med imagecopyresampled vilket gör att när raden imagejpeg($destimg,$targetfile,80); körs kopieras det bara in en svart bild på rätt plats med rätt filnamn. Så på den raden fungerar ju filen och sökvägen ($targetfile)!? Har även testat med $targetfile i imagecopyresampled och $uploadfile i imagejpeg(). Vill sig ändå inte... |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Medlem
|
Variabeln $uploadfile är ju bara sökväg och filnamn på filen du vill behandla. Du måste använda imagecreatefromjpeg() eller motsvarande för att skapa en bildresurs att arbeta med.
|
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Mycket flitig postare
|
Verkar ju alltså som att scriptet inte hittar bilden som du laddar upp, då skapas en svart/tom bild istället. Kör en kontroll vid uppladdning så att du är säker på att källbilden finns där. Se följande för att köra en felkontroll på uppladdningen:
http://se.php.net/manual/en/features.file-...load.errors.php |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Nykomling
|
Underbart!!!!
Att det skulle vara en så liten sak... ![]() Otroligt mycket tack!! Lade till raden $targetfile = imagecreatefromjpeg($uploadfile); innan raden med imagecopyresampled och använde sedan $targetfile framöver. Ska kika lite mer på error-hanteringen också. Verkar vara en enklare och lite smartare hantering av fel. ![]() |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Mycket flitig postare
|
Citat:
![]() |
|||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Mycket flitig postare
|
Citat:
Kod:
switch($_FILES['filen']['type']) { case 'image/jpeg': case 'image/pjpeg': $targetfile = imagecreatefromjpeg($uploadfile); break; case 'image/png': case 'image/x-png': $targetfile = imagecreatefrompng($uploadfile); break; default: } |
|||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Klarade millennium-buggen
|
Det finns nackdelar med detta som är nämnda här tidigare.
http://www.webmasternetwork.se/f2t11485.html |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Nykomling
|
Det där var intressant läsning.
Tackar! |
||
![]() |
![]() |
Svara |
|
|