anoniem Geplaatst: 11 februari 2004 Delen Geplaatst: 11 februari 2004 Hallo, Voordat ik begin wil ik even zeggen dat in een complete PHP-noob ben en dit schript ergens van internet vandaan heb. De bedoeling van dit script is dat hij automatisch thumbnails maakt en deze weergeeft op een pagina. Als er op een thumbnail geklikt wordt moet deze een nieuw popup scherm tonen met daarin de foto. Het op de thumbnail klikken en het openen van een popup scherm gaat okee. Alleen heb ik geen flauw idee welke variabelen ik in het javascript moet meegeven. Mijn phpcode: [code:1:956b173f15] $thumb = "thumbs"; //thumbs directory name $thumbwidth = 100; $imagequality = 100; $cols = 4; //number of columns $vi = "Ver Imagen"; //text for "See image" $sname = "amnegal.php"; //name of this file $msgback = "Terug"; //text for "Return to Gallery" if (isset($_GET['iid'])) { $_GET['iid']; } elseif (isset($_POST['iid'])) { $_POST['iid']; } $files = array(); if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (eregi("\.jpe?g$", $file) || eregi("\.gif$", $file) || eregi("\.png$", $file)) { $files[] = $file; } } } closedir($handle); } sort($files); if (!is_dir($thumb)) { mkdir($thumb, 0755); } $i = 0; $th = array(); $iw = array(); $ih = array(); $ifs = array(); foreach ($files as $image) { $thumbimage = $thumb."/".$image; $thumb_exists = file_exists($thumbimage); $size = GetImageSize($image); $width = $size[0]; $height = $size[1]; $type = $size[2]; if (!$thumb_exists) { set_time_limit(30); switch ($type) { case 1 : $im = ImageCreateFromGIF($image); break; case 2 : $im = ImageCreateFromJPEG($image); break; case 3 : $im = ImageCreateFromPNG($image); break; } $newwidth = $thumbwidth; $newheight = ($newwidth / $width) * $height; $im2 = ImageCreateTrueColor($newwidth,$newheight); ImageCopyResampled($im2,$im,0,0,0,0,$newwidth,$newheight,$width,$height); switch ($type) { case 1: ImageGIF($im2, $thumbimage); break; case 2: ImageJpeg($im2, $thumbimage, $imagequality); break; case 3: ImagePNG($im2, $thumbimage); break; imagedestroy($im); imagedestroy($im2); } } $th[$i] = $thumbimage; $iw[$i] = $width; $ih[$i] = $height; $ifs[$i] = round((@filesize($image)/1024), 1); $i++; } echo "<br> <br>"; echo "<table border=\"1\" align=\"center\" bordercolor=\"#CCCCCC\" cellspacing=\"3\" cellpadding=\"3\">"; if (!isset($iid)) { $rows = round(count($th)/$cols); if (($rows * $cols) < (count($th))) { $rows++; } for ($i = 1; $i <= $rows; $i++) { echo "<tr>"; for ($j = 1; $j <= $cols; $j++) { $td = (($i - 1) * $cols) + $j; $iu = ($td - 1); if (isset($th[$iu])) { $op = ""; $op .= "<td>\n<div align=\"center\">\n<br>\n"; $op .= "<a title=\"$vi\" href=\"javascript:openpopup()\">\n"; $op .= "<img src=\"$th[$iu]\" border=\"0\">\n"; $op .= "<br>$ifs[$iu] Kb.</a>\n"; $op .= "<br>\n</div>\n</td>\n"; echo $op; } else { echo "<td>\n<br></td>\n"; } } echo "</tr>\n"; } } else { $iid2 = $iid+1; $tot = count($th); $op .= "<td>\n<div align=\"center\">\n<br>\n"; $op .= "<img src=\"$files[$iid]\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n"; $op .= "<tr>\n<td>\n<div align=\"center\"><a href=\"$sname\"> $msgback </a></div></td></tr>"; echo $op; } echo "</table>"; [/code:1:956b173f15] Het javascript: <script> function openpopup( fotoid ){ var popurl="http://10.0.0.9/foto2003.php?iid=" +fotoid winpops=window.open(popurl,"","width=480,height=640,") } </script> Heeft iemand enig idee wat erbij fotoid en +fotoid moet komen te staan? Quote Link naar reactie
anoniem Geplaatst: 11 februari 2004 Auteur Delen Geplaatst: 11 februari 2004 Foto-ID is een variabele, dus die moet je zo laten staan. De code wordt aangeroepen door JavaScript elders in de pagina. Werkt de code niet of dacht je gewoon dat je er iets moest veranderen? - Bas Quote Link naar reactie
anoniem Geplaatst: 11 februari 2004 Auteur Delen Geplaatst: 11 februari 2004 [quote:d320a6d024="BasHamar"]Foto-ID is een variabele, dus die moet je zo laten staan. De code wordt aangeroepen door JavaScript elders in de pagina. Werkt de code niet of dacht je gewoon dat je er iets moest veranderen? - Bas[/quote:d320a6d024] Fotoid is niet de echte id die in het php script aan foto's wordt meegegeven. Ik kom fotoid nergens tegen in het php script. Wat het wel moet zijn weet ik niet, dat vraag ik juist :) Als je nu op een thumbnail klikt krijg je: Internal Server Error De url is: http://10.0.0.9/foto2003.php?iid=undefined Hij kent de hele variabelen fotoid dus niet. Quote Link naar reactie
anoniem Geplaatst: 11 februari 2004 Auteur Delen Geplaatst: 11 februari 2004 Ik vergeet gewoon nog een heel deel code :oops: [code:1:589c41dadf]<? $files = array(); if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (eregi("\.jpe?g$", $file) || eregi("\.gif$", $file) || eregi("\.png$", $file)) { $files[] = $file; } } } closedir($handle); } sort($files); mt_srand((double) microtime() * 1000000); $rnd=@mt_rand(0,count($files)-1); header("Cache-Control: no-cache, must-revalidate"); if (eregi("\.jpe?g$", $files[$rnd])) header("Content-type: image/jpeg"); elseif(eregi("\.gif$", $files[$rnd])) header("Content-type: image/gif"); elseif(eregi("\.png$", $files[$rnd])) header("Content-type: image/png"); @readfile($files[$rnd]); ?>[/code:1:589c41dadf] Dit is de code die zeg maar de dir uitleest. Quote Link naar reactie
anoniem Geplaatst: 11 februari 2004 Auteur Delen Geplaatst: 11 februari 2004 10.0.0.9 is geen publiek IP-adres. Geef even het goede adres door svp. - Bas Quote Link naar reactie
anoniem Geplaatst: 11 februari 2004 Auteur Delen Geplaatst: 11 februari 2004 [quote:f5a3607598="BasHamar"]10.0.0.9 is geen publiek IP-adres. Geef even het goede adres door svp. - Bas[/quote:f5a3607598] Wat maakt dat uit? Ik draai het intern op mijn eigen webserver. Maar dankzij die opmerking kwam ik wel tot de conlusie dat ik het verkeerde adres in mijn javascript had staan :) Alleen neemt hij nog steeds de variabelen niet over :( Quote Link naar reactie
anoniem Geplaatst: 11 februari 2004 Auteur Delen Geplaatst: 11 februari 2004 Ok. <script> function openpopup() { var popurl="http://10.0.0.09/fotos/gp2003/foto2003.php?iid=$iid" winpops=window.open(popurl,"","width=640,height=480,") } </script> Dit is hem, alleen leest hij $iid niet uit. Weet iemand hoe ik die uitgelezen krijg? D.m.v. phpcode.. Quote Link naar reactie
anoniem Geplaatst: 11 februari 2004 Auteur Delen Geplaatst: 11 februari 2004 $iid = $_POST["iid"]; of $iid = $_GET["iid"]; - Bas Quote Link naar reactie
anoniem Geplaatst: 11 februari 2004 Auteur Delen Geplaatst: 11 februari 2004 Het probleem is dat je bij het klikken op de thumbnail geen id meegeeft aan je javascript functie. De waarde van fotoid is dus [i:f5896ac245]'undefined'[/i:f5896ac245]. In onderstaande regel zal je dus ook een (dynamische) id moeten meegeven in de link. [code:1:f5896ac245] $op .= "<a title=\"$vi\" href=\"javascript:openpopup()\">\n"; [/code:1:f5896ac245] En als ik dan een snelle gok mag wagen dan is dat de variabele [i:f5896ac245]$iu[/i:f5896ac245]. En voor het uitlezen van deze waarde in je script verwijs ik naar het antwoord van BasHamar. Mag ik overigens vragen waar onderstaande goed voor is? [code:1:f5896ac245] if (isset($_GET['iid'])) { $_GET['iid']; } elseif (isset($_POST['iid'])) { $_POST['iid']; } [/code:1:f5896ac245] Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen