02. oktober 2008 - 20:24Der er
20 kommentarer og 1 løsning
problemer med resize i upload
hej
je ghar været ved at lave et script som uploder et billede og det virker men nu skal jeg have sat en resize på og får fejl
script:
<?php
session_start(); // forbinde til DB include"../inc/config.inc.php";
$uploadDir = 'profil/'; //Bibliotek hvor filer uploades til - husk chmod 777 $allowedFileTypes = array('jpg','gif','png'); //Hvilke filer vil vi acceptere bliver uploadet?
//Er der trykket på Upload file knappen? if(isset($_POST['upload'])) { //Har vi en fil? //echo ' filern bliver nu uploadet'; if(is_uploaded_file($_FILES['myFile']['tmp_name'])) { echo ' filern bliver nu uploadet'; //Filendelse $extension = strtolower(pathinfo($_FILES['myFile']['name'],PATHINFO_EXTENSION));
//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']))) { echo 'File ('.basename($_FILES['myFile']['name']).') uploaded succesfully'; // laver en variabel $pic = $_FILES['myFile']['name'];
list($bredde, $hojde) = getimagesize($pic); //Find højden og bredden på det billede jeg vil resize $forhold = $hojde/$bredde; //Hvor stor er højden i forhold til bredden?
//Find den nye højde og bredde $bredde_ny = 200; $hojde_ny = round($bredde_ny*$forhold);
//liger det ind i DB mysql_query("UPDATE users SET
pic = '$pic'
where id = '".$_SESSION['id']."' LIMIT 1") or die(mysql_error()); // Opdatere Alle oplysningerne
} else { echo 'Fejl - det var ikke muligt at uploade filen: '.basename($_FILES['myFile']['name']).''; } } else { echo 'Frokert fil type, De eneste filer det er tilatte er: ('.implode(',',$allowedFileTypes).')'; } } //Er der trykket på delete file knappen? } if(isset($_POST['del'])) {//Har vi en fil? echo ' filern bliver nu slette';
mysql_query("UPDATE users SET
pic = 'NPA.jpg'
where id = '".$_SESSION['id']."' LIMIT 1") or die(mysql_error()); // Opdatere Alle oplysningerne
ja det var en godt ide men kan du også hjælp mig list med stien til hvor jeg skal resize billedet fra ( der er nogle fejl i den del af scipet ) det er disse fejl jeg snakker om
Warning: getimagesize(25.jpg) [function.getimagesize]: failed to open stream: No such file or directory in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 31
Warning: Division by zero in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 32
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg: JPEG library reports unrecoverable error: in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 39
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: 'profil/' is not a valid JPEG file in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 39
Warning: imagecreate() [function.imagecreate]: Invalid image dimensions in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 40
Warning: imagecopyresized(): supplied argument is not a valid Image resource in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 43
Warning: imagejpeg(): supplied argument is not a valid Image resource in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 46
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg: JPEG library reports unrecoverable error: in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 39
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: 'profil/' is not a valid JPEG file in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 39
Warning: imagecopyresized(): supplied argument is not a valid Image resource in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 43 :-) så det er ved at hjælp
har været ved at kikek lige på det link du sendet og jeg tro jeg vil prøve og se om jeg kan få det in i mit script for så kan jeg bruge alle 3 billed typer :-) men jeg er ikek helt sikker på hvordan jeg lige gør det da der ikek rigtig er nogel beskrivelse af hvad der sker kan du hjælp lidt hvis det skulle gå galt ?
session_start(); // forbinde til DB include"../inc/config.inc.php";
//SETTINGS $uploadDir = 'profil/'; //Bibliotek, hvor filer uploades til - husk chmod 777 $allowedFileTypes = array('jpg','gif','png'); //Hvilke filer vil vi acceptere bliver uploadet? //THUMBS SETTINGS $thumbDir = 'profil/thumbs/'; //Bibliotek, hvor thumbs gemmes - husk chmod 777 $thumbPrefix = 'thumb_'; //Hvad skal tilføjes til originalt filnavn? $thumbHeight = 250; //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="?side=up-pic" 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>'; ?>
fejl er : Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 46
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 47
Warning: imagejpeg(): supplied argument is not a valid Image resource in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 53
Warning: imagedestroy(): supplied argument is not a valid Image resource in /volume1/web/test/CMS-1.0/bruger/up-pic.php on line 65
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.