03. marts 2008 - 13:05
Der er
2 kommentarer og 1 løsning
Hvorfor resizere den ikke billede?
Hej alle experter. Jeg har fået sammensat et upload script, som nu kører helt perfekt, dog vil jeg gerne have at den resizer billederne, så de ikke ødelægger mit design. Jeg har brugt jacobdo's resize script, men det ser ikke ud til at lykkes at implenter det ordenligt. Kan i hjælpe mig? Har prøvet forskellige ting, men det jeg prøver på at redigere TEMP billed i stedet for at billed først lander på serveren´først. Hvordan skal man gøre det? Script: <?php ob_start(); if($_GET['funktion'] == "opretannon" && $_POST['opretannon'] == '1'){ $ip = $_SERVER['REMOTE_ADDR']; require("../connect.php"); function resize( $filename, $newfilename, $maxw, $maxh, $quality=85 ) { $ext = strtolower( pathinfo( $filename, PATHINFO_EXTENSION ) ); switch($ext) { 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($ext) { 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( $srcim, $newfilename, $png_q ); break; default: return false; } imagedestroy( $dstim ); imagedestroy( $srcim ); return file_exists($newfilename); } $uploadDir = 'upload/'; //Bibliotek hvor filer uploades til - husk chmod 777 $allowedFileTypes = array('jpg','gif','png','jpeg'); //Har vi en fil? if(is_uploaded_file($_FILES['file']['tmp_name'])) { //Filendelse $extension = strtolower(pathinfo($_FILES['file']['name'],PATHINFO_EXTENSION)); //Er filen en af de filer vi gerne vil have? if(in_array($extension,$allowedFileTypes)) { resize($_FILES['file']['tmp_name'], $_FILES['file']['filen'], 510, 510, 85 ); //Vi flytter filen fra tmp til vores UPLOADDIR if(move_uploaded_file($_FILES['file']['filen'],$uploadDir . basename($_FILES['file']['name']))) { echo '<h3 style="color:green;">File ('.basename($_FILES['file']['name']).') uploaded succesfully</h3>'; } else { echo '<h3 style="color:red;">Error - unable to upload file: '.basename($_FILES['file']['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>'; } .... sql script som burde virke fint nok :-) Med venlig hilsen Kevin Simper
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
03. marts 2008 - 13:53
#1
Nu har jeg prøvet at lade billed blive upload og så bagefter resize det, men det virker vist heller ikke. $imagel = basename($_FILES['file']['name']); resize( $uploadDir . $imagel, $uploadDir . $imagel, 510, 510); Hele upload processen virker! :-)
03. marts 2008 - 13:59
#2
Hele scriptet for en sikkerheds skyld, med det jeg har skrevet ovenover: <?php ob_start(); if($_GET['funktion'] == "opretannon" && $_POST['opretannon'] == '1'){ $ip = $_SERVER['REMOTE_ADDR']; require("../connect.php"); function resize( $filename, $newfilename, $maxw, $maxh, $quality=85 ) { $ext = strtolower( pathinfo( $filename, PATHINFO_EXTENSION ) ); switch($ext) { 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($ext) { 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( $srcim, $newfilename, $png_q ); break; default: return false; } imagedestroy( $dstim ); imagedestroy( $srcim ); return file_exists($newfilename); } $uploadDir = 'upload/'; //Bibliotek hvor filer uploades til - husk chmod 777 $allowedFileTypes = array('jpg','gif','png','jpeg'); //Har vi en fil? if(is_uploaded_file($_FILES['file']['tmp_name'])) { //Filendelse $extension = strtolower(pathinfo($_FILES['file']['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['file']['tmp_name'],$uploadDir . basename($_FILES['file']['name']))) { echo '<h3 style="color:green;">File ('.basename($_FILES['file']['name']).') uploaded succesfully</h3>'; } else { echo '<h3 style="color:red;">Error - unable to upload file: '.basename($_FILES['file']['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>'; } $imagel = basename($_FILES['file']['name']); resize( $uploadDir . $imagel, $uploadDir . $imagel, 510, 510); mysql_query("INSERT INTO marked (id, navn, status, desp, ip, image, opret) VALUES ('', '$_POST[navn]', '$_POST[status]', '$_POST[tekst]', '$ip', '$imagel', '')") OR DIE(mysql_error()); header("location: ************** "); } ob_end_flush(); ?>
03. marts 2008 - 20:37
#3
Lukker, fandt selv problemmet!
Vi tilbyder markedets bedste kurser inden for webudvikling