10. februar 2003 - 23:58Der er
7 kommentarer og 2 løsninger
Nemmest at resize billeder i PHP
Hej
Jeg vil gerne høre om i kan hjælpe mig med hvordan jeg kan få et uploadet billedet til blive resize automatisk til feks 2 forskellige mål . 1 til thumbsize og den anden til feks 500 width?.
Jeg har læst noget med gb.lib? men hvordan kn jeg undersøge om udbyderen understøtter dette, hvis ikke hvordan kan jeg få det til at virke på web'en.
Håber i kan hjælpe mig.. PS. alle eksempler må IKKE indeholde '\ og \\ og \\\' osv. tegn, da disse ikke understøttes på min WEBhotel.
du kan undersøge det ved at køre <?php phpinfo(); ?>
eller spørge din udbyder ;o), hvis det ikke er installeret tror jeg ikke du kan få det til at virke på din side - så kan du bruge <img scr="pic.jpg" width="500" hight="100"> - men det er langt fra optimalt at resize på denne måde
Her er noget du ka' bruge som inspiration. Det kan uploade et billede, hvorefter det vises som en miniature, du kan klikke på, for at få det store billede. <html> <head> <title>Ny side 2</title> </head> <body> <?php
//Filen er ikke for bred if($size[0] < $max_width) {
//Filen er ikke for høj if($size[1] < $max_height) {
//Læseligt tidsstempel - tilføjes senere filnavn og giver derved et unikt filnavn $tid = date("His_dmy", time());
//Udregn skaleringsforholdet på thumb, her skal 100 rettes til den ønskede bredde $new_w = 100; $division = $size[0] / 100; $new_h = $size[1] / $division;
//Lav et nyt billede så vi kan komme igang $dst_img=ImageCreateTrueColor($new_w,$new_h);
//Smid noget indhold i, og resize ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img));
//*nix-path til thumbfilens endelige placering $filename2 = "./pics/thumbs/" . $img=$tid.$_FILES['img']['name'];
//Udfør det hele //echo "dst_img=".$dst_img."<br>"; //echo "filnavn2=".$filename2."<br>"; ImageJpeg($dst_img, $filename2);
//Flyt filen fra tmp til endelig placering move_uploaded_file($_FILES['img']['tmp_name'], $path.$tid.$_FILES['img']['name']) or die("Desværre er der sket en fejl!"); echo "<a href='pics/".$tid.$_FILES['img']['name']."'><img border='0' src='".$filename2."'></a><br>"; if(isset($_POST['tekst'])) { echo $_POST['tekst']; } }
ELSE { //Fejlmedl. hvis fil over max. tilladt $fejl = "Billede ikke sat ind: Filen er for høj!"; } }
ELSE { //Fejlmedl. hvis fil over max. tilladt $fejl = "Billede ikke sat ind: Filen er for bred!"; } }
ELSE { //Fejlmedl. hvis fil over max. tilladt $fejl = "Billede ikke sat ind: Filen er for stor!"; } } ELSE { //Fejlmedl. hvis fil-format ikke tilladt $fejl = "Billede ikke sat ind: Forkert fil-format!"; } }
Info er der vist gd 'enable' understøttelse ver. 1.6.2 or higher
damn . enkel version er godt nok LANG :) - behøves isset ? er det ikke det samme som if ($name) end if(isset($_POST['send'])) Sjovt nok at jeg koder lidt i php, men har stadig ikke forstået at bruge $_POST, eller andre $_xxxx og isset.
Prøv evt. at gøre scriptet simplere. Start med bare at lave et upload-script, så du er sikker på, at du får uploaded filen. Herefter kan du så bygge mere og mere på.
Jeg har slet ikke fået det til at virke endnu.. men det må vente til anden gang. Tak anyway
Synes godt om
Ny brugerNybegynder
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.