28. marts 2004 - 10:42
Der er
26 kommentarer og 1 løsning
Resize flere på en gang
Hej. Er det muligt at få dette resize script til at resize flere billeder på en gang? <?php $pic = "evt/sti/billede.jpg"; // Originalt billede $thumb = "evt/sti/billede_thumb.jpg"; // Ønsket miniature billede Thumb($pic, $thumb); // Kald funktion function Thumb($sourcefile, $targetfile) { $size = 80; // Max størrelse (pixler) $source_id = imageCreateFromJPEG($sourcefile); $source_x = imagesx($source_id); $source_y = imagesy($source_id); $delta = $size/max($source_x, $source_y); $dest_x = round($source_x*$delta); $dest_y = round($source_y*$delta); $target_id=imagecreatetruecolor($dest_x, $dest_y); imagecopyresampled($target_id,$source_id,0,0,0,0, $dest_x,$dest_y, $source_x,$source_y); imagejpeg($target_id,$targetfile,100); } ?>
Annonceindlæg fra Hitachi
”Forskellighed gør os stærkere!”
Diversitet er ikke kun buzzwords og politisk korrekthed, men et spørgsmål om at alle føler sig godt tilpas og kan yde deres bedste.
31. januar 2025
28. marts 2004 - 12:11
#1
Jow, med en forløkke.
28. marts 2004 - 12:16
#2
Hvordan vil det se ud?
28. marts 2004 - 12:35
#3
Tror det her vil kunne gøre det: <? $a = array ("fil1.jpg", "fil2.jpg","fil3.jpg","fil4.jpg","fil5.jpg"); $b = array ("lille_fil1.jpg","lille_fil2.jpg","lille_fil3.jpg","lille_fil4.jpg","lille_fil5.jpg"); function Thumb($sourcefile, $targetfile) { $size = 80; // Max størrelse (pixler) $source_id = imageCreateFromJPEG($sourcefile); $source_x = imagesx($source_id); $source_y = imagesy($source_id); $delta = $size/max($source_x, $source_y); $dest_x = round($source_x*$delta); $dest_y = round($source_y*$delta); $target_id=imagecreatetruecolor($dest_x, $dest_y); imagecopyresampled($target_id,$source_id,0,0,0,0, $dest_x,$dest_y, $source_x,$source_y); imagejpeg($target_id,$targetfile,100); } foreach($a as $i => $v) { $c[$b[$i]] = $v; } foreach($c as $k => $v) { Thumb($v,$k); } ?>
28. marts 2004 - 12:47
#4
<?php $dist = $_SERVER["DOCUMENT_ROOT"] ."/pass/upload/"; if (isset($_FILES["upfile"])) { echo"<table width=\"289\" height=\"84\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> <tr> <td height=\"18\" valign=\"top\"><strong><font color=\"#000000\" size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Det er oprettet</font></strong></td> </tr> <tr> <td><table width=\"286\" height=\"65\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> <tr> <td width=\"139\" height=\"22\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Opret et nyt tilbud:</font></td> <td width=\"147\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"opret.php\">Klik her</a></font></td> </tr> <tr> <td height=\"22\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Slet et tilbud:</font></td> <td><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"delete.php\">Klik her</a></font></td> </tr> <tr> <td height=\"22\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Rediger et tilbud</font></td> <td><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"edit.php\">Klik her</a></font></td> </tr> </table></td> </tr> </table> "; $antal = 0; $names = array(); for($i = 0; $i < count($_FILES["upfile"]["name"]); $i++) { if ($_FILES["upfile"]["name"][$i] !="") { $antal++; if(is_uploaded_file($_FILES["upfile"]["tmp_name"][$i])) { if(move_uploaded_file($_FILES["upfile"]["tmp_name"][$i], $dist . $_FILES["upfile"]["name"][$i])) { $names[] = $_FILES["upfile"]["name"][$i]; $navn = $_POST["navn"] ; $sort = $_POST["sort"] ; $before = $_POST["before"] ; $nu = $_POST["nu"] ; $sparer = $_POST["sparer"] ; $tekst = $_POST["tekst"] ; $str1 = $_FILES["upfile"]["name"][$i]; $str2 = $_FILES["upfile"]["size"][$i]; $str3 = $_FILES["upfile"]["type"][$i]; echo ""; }else{ echo"Der skete en fejl, prøv igen"; } }else{ echo"Der skete en fejl, og tilbudet blev ikke oprettet. Prøv igen"; } } } } $names = implode(",", $names); mysql_query("INSERT INTO upload (navn, sort, before, nu, sparer, tekst, billede) values ('$navn', '$sort', '$before', '$nu', '$sparer', '$tekst', '$names')"); $query = mysql_query("SELECT * FROM `upload` WHERE `id` = '". $_GET["id"] ."'") or die (mysql_error()); if(mysql_num_rows($query) == 1) { $vis = mysql_fetch_array($query); $pics = "$vis[billede]"; $pic = explode(",", $pics); $a = array ("$pic[0]", "$pic[1]", "$pic[2]", "$pic[3]", "$pic[4]"); $b = array ("$pic[0]", "$pic[1]", "$pic[2]", "$pic[3]", "$pic[4]"); function Thumb($sourcefile, $targetfile) { $size = 80; // Max størrelse (pixler) $source_id = imageCreateFromJPEG($sourcefile); $source_x = imagesx($source_id); $source_y = imagesy($source_id); $delta = $size/max($source_x, $source_y); $dest_x = round($source_x*$delta); $dest_y = round($source_y*$delta); $target_id=imagecreatetruecolor($dest_x, $dest_y); imagecopyresampled($target_id,$source_id,0,0,0,0, $dest_x,$dest_y, $source_x,$source_y); imagejpeg($target_id,$targetfile,100); } foreach($a as $i => $v) { $c[$b[$i]] = $v; } foreach($c as $k => $v) { Thumb($v,$k); } } ?> - Det virker ikke her...
28. marts 2004 - 12:49
#5
Hvad laver du her: $a = array ("$pic[0]", "$pic[1]", "$pic[2]", "$pic[3]", "$pic[4]"); $b = array ("$pic[0]", "$pic[1]", "$pic[2]", "$pic[3]", "$pic[4]");
28. marts 2004 - 12:58
#6
Det er fordi de billeder jeg skal resize er blevet uploadet med det script som jeg har skrevet oven over. Og navnene på de 5 billeder bliver gemt i et array, og bliver kaldt frem på den måde der.
28. marts 2004 - 13:00
#7
Så skal det vel være: $a = array ($pic[0], $pic[1], $pic[2], $pic[3], $pic[4]); $b = array ($pic[0]."_thumb", $pic[1]."_thumb", $pic[2]."_thumb", $pic[3]."_thumb", $pic[4]."_thumb");
28. marts 2004 - 13:02
#8
Hjalp ikke <?php $dist = $_SERVER["DOCUMENT_ROOT"] ."/pass/upload/"; if (isset($_FILES["upfile"])) { echo"<table width=\"289\" height=\"84\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> <tr> <td height=\"18\" valign=\"top\"><strong><font color=\"#000000\" size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Det er oprettet</font></strong></td> </tr> <tr> <td><table width=\"286\" height=\"65\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> <tr> <td width=\"139\" height=\"22\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Opret et nyt tilbud:</font></td> <td width=\"147\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"opret.php\">Klik her</a></font></td> </tr> <tr> <td height=\"22\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Slet et tilbud:</font></td> <td><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"delete.php\">Klik her</a></font></td> </tr> <tr> <td height=\"22\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Rediger et tilbud</font></td> <td><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"edit.php\">Klik her</a></font></td> </tr> </table></td> </tr> </table> "; $antal = 0; $names = array(); for($i = 0; $i < count($_FILES["upfile"]["name"]); $i++) { if ($_FILES["upfile"]["name"][$i] !="") { $antal++; if(is_uploaded_file($_FILES["upfile"]["tmp_name"][$i])) { if(move_uploaded_file($_FILES["upfile"]["tmp_name"][$i], $dist . $_FILES["upfile"]["name"][$i])) { $names[] = $_FILES["upfile"]["name"][$i]; $navn = $_POST["navn"] ; $sort = $_POST["sort"] ; $before = $_POST["before"] ; $nu = $_POST["nu"] ; $sparer = $_POST["sparer"] ; $tekst = $_POST["tekst"] ; $str1 = $_FILES["upfile"]["name"][$i]; $str2 = $_FILES["upfile"]["size"][$i]; $str3 = $_FILES["upfile"]["type"][$i]; echo ""; }else{ echo"Der skete en fejl, prøv igen"; } }else{ echo"Der skete en fejl, og tilbudet blev ikke oprettet. Prøv igen"; } } } } $names = implode(",", $names); mysql_query("INSERT INTO upload (navn, sort, before, nu, sparer, tekst, billede) values ('$navn', '$sort', '$before', '$nu', '$sparer', '$tekst', '$names')"); $query = mysql_query("SELECT * FROM `upload`") or die (mysql_error()); if(mysql_num_rows($query) == 1) { $vis = mysql_fetch_array($query); $pics = "$vis[billede]"; $picc = explode(",", $pics); $a = array ($pic[0], $pic[1], $pic[2], $pic[3], $pic[4]); $b = array ($pic[0]."_thumb", $pic[1]."_thumb", $pic[2]."_thumb", $pic[3]."_thumb", $pic[4]."_thumb"); function Thumb($sourcefile, $targetfile) { $size = 80; // Max størrelse (pixler) $source_id = imageCreateFromJPEG($sourcefile); $source_x = imagesx($source_id); $source_y = imagesy($source_id); $delta = $size/max($source_x, $source_y); $dest_x = round($source_x*$delta); $dest_y = round($source_y*$delta); $target_id=imagecreatetruecolor($dest_x, $dest_y); imagecopyresampled($target_id,$source_id,0,0,0,0, $dest_x,$dest_y, $source_x,$source_y); imagejpeg($target_id,$targetfile,100); } foreach($a as $i => $v) { $c[$b[$i]] = $v; } foreach($c as $k => $v) { Thumb($v,$k); } } ?>
28. marts 2004 - 14:59
#9
Du kan måske ændre: $picc = explode(",", $pics); til: $pic = explode(",", $pics); Har du præcis én række i tabellen? Du kunne måske overveje at have to tabeller istedet, så hvert billednavn kunne få sin egen række.
28. marts 2004 - 15:24
#10
Det med flere rækker, da skal alle billederne være i samme række fordi jeg skal hente dem ud via ID... <?php $dist = $_SERVER["DOCUMENT_ROOT"] ."/pass/upload/"; if (isset($_FILES["upfile"])) { echo"<table width=\"289\" height=\"84\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> <tr> <td height=\"18\" valign=\"top\"><strong><font color=\"#000000\" size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Det er oprettet</font></strong></td> </tr> <tr> <td><table width=\"286\" height=\"65\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> <tr> <td width=\"139\" height=\"22\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Opret et nyt tilbud:</font></td> <td width=\"147\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"opret.php\">Klik her</a></font></td> </tr> <tr> <td height=\"22\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Slet et tilbud:</font></td> <td><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"delete.php\">Klik her</a></font></td> </tr> <tr> <td height=\"22\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Rediger et tilbud</font></td> <td><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"edit.php\">Klik her</a></font></td> </tr> </table></td> </tr> </table> "; $antal = 0; $names = array(); for($i = 0; $i < count($_FILES["upfile"]["name"]); $i++) { if ($_FILES["upfile"]["name"][$i] !="") { $antal++; if(is_uploaded_file($_FILES["upfile"]["tmp_name"][$i])) { if(move_uploaded_file($_FILES["upfile"]["tmp_name"][$i], $dist . $_FILES["upfile"]["name"][$i])) { $names[] = $_FILES["upfile"]["name"][$i]; $navn = $_POST["navn"] ; $sort = $_POST["sort"] ; $before = $_POST["before"] ; $nu = $_POST["nu"] ; $sparer = $_POST["sparer"] ; $tekst = $_POST["tekst"] ; $str1 = $_FILES["upfile"]["name"][$i]; $str2 = $_FILES["upfile"]["size"][$i]; $str3 = $_FILES["upfile"]["type"][$i]; echo ""; }else{ echo"Der skete en fejl, prøv igen"; } }else{ echo"Der skete en fejl, og tilbudet blev ikke oprettet. Prøv igen"; } } } } $names = implode(",", $names); mysql_query("INSERT INTO upload (navn, sort, before, nu, sparer, tekst, billede) values ('$navn', '$sort', '$before', '$nu', '$sparer', '$tekst', '$names')"); $query = mysql_query("SELECT * FROM `upload`") or die (mysql_error()); if(mysql_num_rows($query) == 1) { $vis = mysql_fetch_array($query); $pics = "$vis[billede]"; $pic = explode(",", $pics); $a = array ($pic[0], $pic[1], $pic[2], $pic[3], $pic[4]); $b = array ($pic[0]."_thumb", $pic[1]."_thumb", $pic[2]."_thumb", $pic[3]."_thumb", $pic[4]."_thumb"); function Thumb($sourcefile, $targetfile) { $size = 80; // Max størrelse (pixler) $source_id = imageCreateFromJPEG($sourcefile); $source_x = imagesx($source_id); $source_y = imagesy($source_id); $delta = $size/max($source_x, $source_y); $dest_x = round($source_x*$delta); $dest_y = round($source_y*$delta); $target_id=imagecreatetruecolor($dest_x, $dest_y); imagecopyresampled($target_id,$source_id,0,0,0,0, $dest_x,$dest_y, $source_x,$source_y); imagejpeg($target_id,$targetfile,100); } foreach($a as $i => $v) { $c[$b[$i]] = $v; } foreach($c as $k => $v) { Thumb($v,$k); } } ?> - Det med pic virkede ikke
28. marts 2004 - 19:43
#11
Warning: imagecreatefromjpeg(../pass/upload/): failed to open stream: Permission denied in C:\W3Sites\biga8000\www\pass\upload.php on line 106 Warning: imagesx(): supplied argument is not a valid Image resource in C:\W3Sites\biga8000\www\pass\upload.php on line 107 Warning: imagesy(): supplied argument is not a valid Image resource in C:\W3Sites\biga8000\www\pass\upload.php on line 108 Warning: Division by zero in C:\W3Sites\biga8000\www\pass\upload.php on line 109 Warning: imagecreatetruecolor(): Invalid image dimensions in C:\W3Sites\biga8000\www\pass\upload.php on line 112 Warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\W3Sites\biga8000\www\pass\upload.php on line 113 Warning: imagejpeg(): supplied argument is not a valid Image resource in C:\W3Sites\biga8000\www\pass\upload.php on line 114 106: $source_id = imageCreateFromJPEG($sourcefile); 107: $source_x = imagesx($source_id); 108: $source_y = imagesy($source_id); 109: $delta = $size/max($source_x, $source_y); 110: $dest_x = round($source_x*$delta); 111: $dest_y = round($source_y*$delta); 112: $target_id=imagecreatetruecolor($dest_x, $dest_y); 113: imagecopyresampled($target_id,$source_id,0,0,0,0, $dest_x,$dest_y, $source_x,$source_y); 114: imagejpeg($target_id,$targetfile,100);
28. marts 2004 - 19:44
#12
Nu gør den som den skal, men den kommer med de fejl som jeg har skrevet oven over... Her er hele koden: $dist = $_SERVER["DOCUMENT_ROOT"] ."/pass/upload/"; if (isset($_FILES["upfile"])) { echo"<table width=\"289\" height=\"84\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> <tr> <td height=\"18\" valign=\"top\"><strong><font color=\"#000000\" size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Det er oprettet</font></strong></td> </tr> <tr> <td><table width=\"286\" height=\"65\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> <tr> <td width=\"139\" height=\"22\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Opret et nyt tilbud:</font></td> <td width=\"147\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"opret.php\">Klik her</a></font></td> </tr> <tr> <td height=\"22\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Slet et tilbud:</font></td> <td><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"delete.php\">Klik her</a></font></td> </tr> <tr> <td height=\"22\"><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Rediger et tilbud</font></td> <td><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href=\"edit.php\">Klik her</a></font></td> </tr> </table></td> </tr> </table> "; $antal = 0; $names = array(); for($i = 0; $i < count($_FILES["upfile"]["name"]); $i++) { if ($_FILES["upfile"]["name"][$i] !="") { $antal++; if(is_uploaded_file($_FILES["upfile"]["tmp_name"][$i])) { if(move_uploaded_file($_FILES["upfile"]["tmp_name"][$i], $dist . $_FILES["upfile"]["name"][$i])) { $names[] = $_FILES["upfile"]["name"][$i]; $navn = $_POST["navn"] ; $sort = $_POST["sort"] ; $before = $_POST["before"] ; $nu = $_POST["nu"] ; $sparer = $_POST["sparer"] ; $tekst = $_POST["tekst"] ; $str1 = $_FILES["upfile"]["name"][$i]; $str2 = $_FILES["upfile"]["size"][$i]; $str3 = $_FILES["upfile"]["type"][$i]; echo ""; }else{ echo"Der skete en fejl, prøv igen"; } }else{ echo"Der skete en fejl, og tilbudet blev ikke oprettet. Prøv igen"; } } } } $names = implode(",", $names); mysql_query("INSERT INTO upload (navn, sort, before, nu, sparer, tekst, billede) values ('$navn', '$sort', '$before', '$nu', '$sparer', '$tekst', '$names')"); $query = mysql_query("SELECT * FROM `upload`") or die (mysql_error()); $vis = mysql_fetch_array($query); $pics = "$vis[billede]"; $pic = explode(",", $pics); $a = array ("../pass/upload/$pic[0]", "../pass/upload/$pic[1]", "../pass/upload/$pic[2]", "../pass/upload/$pic[3]", "../pass/upload/$pic[4]"); $b = array ("../pass/upload/$pic[0]", "../pass/upload/$pic[1]", "../pass/upload/$pic[2]", "../pass/upload/$pic[3]", "../pass/upload/$pic[4]"); function Thumb($sourcefile, $targetfile) { $size = 300; $source_id = imageCreateFromJPEG($sourcefile); $source_x = imagesx($source_id); $source_y = imagesy($source_id); $delta = $size/max($source_x, $source_y); $dest_x = round($source_x*$delta); $dest_y = round($source_y*$delta); $target_id=imagecreatetruecolor($dest_x, $dest_y); imagecopyresampled($target_id,$source_id,0,0,0,0, $dest_x,$dest_y, $source_x,$source_y); imagejpeg($target_id,$targetfile,100); } foreach($a as $i => $v) { $c[$b[$i]] = $v; } foreach($c as $k => $v) { Thumb($v,$k); }
28. marts 2004 - 20:51
#13
Hvorfor går du et dir tilbage ? $a = array ("../pass/upload/$pic[0]", Skal det ik være ? $a = array ("upload/$pic[0]", eller $a = array ("./upload/$pic[0]", da scriptet ligger i /pass/
28. marts 2004 - 22:04
#14
Det kan der være noget om... Nu gider den hellere ikke lave dem mindre mere... Tror du at det er fordi jeg ikke har chmod'et mappen som billederne ligger i til 766 ?
28. marts 2004 - 22:37
#15
Det vil nok også være en go idé. Og så skal du vel også lige ha rettet: $b = array ("../pass/upload/$pic[0]", så den ikke overskriver de oploadede billeder
28. marts 2004 - 22:42
#16
Ok, det får jeg fixet. Det er meningen at den skal overskrive de uploadede billeder
28. marts 2004 - 22:45
#17
Tror jeg ikke du kan, uden at kalde dem noget andet først, og så slette originalen, og omdøbe dem bagefter, men er ikke sikker
28. marts 2004 - 22:50
#18
Har lige prøvet at kalde dem noget andet, det hjalp lige lidt :(
29. marts 2004 - 17:45
#19
Indtil videre har det ikke virket... Sukos hvordan ville du lave den forløkke du snakkede om?
29. marts 2004 - 18:11
#20
jahh, jeg har ikke prøvet det af, men vil da gerne lige prøve! :O)
29. marts 2004 - 18:14
#21
æhh, skal lige en tur i byen, men senere!
31. marts 2004 - 00:25
#22
Ville lige høre om du har glemt mig sukos? :)
31. marts 2004 - 06:38
#23
Nej, ikke helt da! :O) Men lige før du bruger $names = implode(",", $names); bruger du så: foreach($names as $fil) { Thumb($dist . $fil, $dist . "th_". $fil); // billede.jpg bliver til th_billede.jpg }
31. marts 2004 - 08:43
#24
Jamen Sukos, det virkede jo i første hug... Typisk med dig ;) Mange tak. Kommer du lige med et svar, og gør du, hindu_skp lige det samme??
31. marts 2004 - 10:05
#25
Jeg ønsker ikke at svare, da mit forslag ikke virkede sammen med din eksisterende kode.
31. marts 2004 - 10:21
#26
Det med første gang, er jo kode som vises her! :O) Og startede da også med noget af det jeg havde liggende, men fandt så ud af at du kunne nøjes med en foreach() :O)
31. marts 2004 - 15:46
#27
Nå, men så kan jeg da give dig et mange tak for hjælpen hindu_skp :) Også endnu engang, mange tak til dig sukos :)
Vi tilbyder markedets bedste kurser inden for webudvikling