Peuplarchie Posted July 28, 2009 Share Posted July 28, 2009 Good day to you all, I'm working on a photo gallery code. I find my code very slow ! Can somebody help me figure out why ? And if somebody know a better way of doing such ? here is my code: <?php set_time_limit(0); $dir = $_GET['dir']; $directory = $dir; $my_directory = ($directory); $dir = dir($my_directory); while($temp = $dir->read()) { $dirarray[] = $temp; } print j_array($dirarray); function j_array($var){ $javastr = "<script language=\"javascript\">"; $javastr .= "var d = new Array();"; $diro="Pictures/"; while(list($key, $val) = each($var)){ $javastr .= "d[$key] = new Image();"; $javastr .= "d[$key].src = '$diro$val';"; } $javastr .= "</script>"; return $javastr; } $diri = $directory; //You could add a $_GET to change the directory $files = scandir($diri); //Creating var for Portrait images list $portrait = ""; //Creating var for Landscape images list $landscape = ""; //Creating var for panoramic images list $panoramic = ""; //Creating var for panoramic images list $other = ""; // Echo the name echo "<div id=\"bar\"><b>".strtoupper($directory)." </b></div>"; echo "<br/><div>"; foreach($files as $key => $value){ if ($value != "." && $value != "..") { //Substring to $value his last 5 char $formatfind = substr($value,-5); // Subtracting to this the last 4 $format = substr($formatfind,0,-4); //This is in my naming convension.Portrait equal 1 landscape equal 0 and panoramic equal 2 // if file $format equal 1 if ($format == "1") { // add it to portrait list $portrait .= "<a onmouseover=this.style.cursor=\"pointer\" ' onfocus='this.blur();' onclick=\"document.getElementById('".$value."').style.display = 'block' \" ><img src=\"".$directory."/".$value."\" width=\"50px\" class=\"imag\"></a>\n"; $portrait .= "<div id=\"".$value."\" style=\"display: none; position: absolute; margin-left:-100px; margin-top:-225px; padding: 10px; background-color: #ffffff; text-align: justify; font-size: 12px;\">"; $portrait .= "<img src=\"".$directory."/".$value."\" name=\"".$value."\"/><br />".$value."<br/><div style=\"color:#000000; background-color:#ffffff; font-size:14px; text-align:center;\" onmouseover=\"this.style.backgroundColor='#cccccc'; this.style.cursor='pointer';\" style='font-size: 12px; ' onfocus='this.blur();' onmouseout=\"this.style.backgroundColor='#FFFFFF';\" onclick=\"document.getElementById('".$value."').style.display = 'none' \" ><b>Fermer</b></div></div>"; } // if file $format equal 2 if ($format == "2") { $landscape .= "<a onmouseover=this.style.cursor=\"pointer\" ' onfocus='this.blur();' onclick=\"document.getElementById('".$value."').style.display = 'block' \" ><img src=\"".$directory."/".$value."\" width=\"50px\" class=\"imag\"></a>\n"; $landscape .= "<div id=\"".$value."\" style=\"display: none; position: absolute; margin-left:-250px; margin-right:auto; margin-top:-200px; margin-bottom:auto; padding: 10px; background-color: #ffffff; text-align: justify; font-size: 12px;\">"; $landscape .= "<img src=\"".$directory."/".$value."\" name=\"".$value."\"/><br />".$value."<br/><div style=\"color:#000000; background-color:#ffffff; font-size:14px; text-align:center;\" onmouseover=\"this.style.backgroundColor='#cccccc'; this.style.cursor='pointer';\" style='font-size: 12px;' onfocus='this.blur();' onmouseout=\"this.style.backgroundColor='#FFFFFF';\" onclick=\"document.getElementById('".$value."').style.display = 'none' \" ><b>Fermer</b></div></div>"; } // if file $format equal 3 if ($format == "3") { $panoramic .= "<a onmouseover=this.style.cursor=\"pointer\" ' onfocus='this.blur();' onclick=\"document.getElementById('".$value."').style.display = 'block' \" ><img src=\"".$directory."/".$value."\" width=\"50px\" class=\"imag\"></a>\n"; $panoramic .= "<div id=\"".$value."\" style=\"display: none; position: absolute; margin:0 auto; margin-top:-450px; padding: 10px; background-color: #ffffff; text-align: justify; font-size: 12px;\">"; $panoramic .= "<img src=\"".$directory."/".$value."\" name=\"".$value."\"/><br />".$value."<br/><div style=\"color:#000000; background-color:#ffffff; font-size:14px; text-align:center;\" onmouseover=\"this.style.backgroundColor='#cccccc'; this.style.cursor='pointer';\"style='font-size: 12px;' onfocus='this.blur();' onmouseout=\"this.style.backgroundColor='#FFFFFF';\" onclick=\"document.getElementById('".$value."').style.display = 'none' \" ><b>Fermer</b></div></div>"; } }else{ $other .= "<a onmouseover=this.style.cursor=\"pointer\" ' onfocus='this.blur();' onclick=\"document.getElementById('".$value."').style.display = 'block' \" ><img src=\"".$directory."/".$value."\" width=\"50px\" class=\"imag\"></a>\n"; $other .= "<div id=\"".$value."\" style=\"display: none; position: absolute; margin:0 auto; margin-top:-450px; padding: 10px; background-color: #ffffff; text-align: justify; font-size: 12px;\">"; $other .= "<img src=\"".$directory."/".$value."\" name=\"".$value."\"/><br />".$value."<br/><div style=\"color:#000000; background-color:#ffffff; font-size:14px; text-align:center;\" onmouseover=\"this.style.backgroundColor='#cccccc'; this.style.cursor='pointer';\"style='font-size: 12px;' onfocus='this.blur();' onmouseout=\"this.style.backgroundColor='#FFFFFF';\" onclick=\"document.getElementById('".$value."').style.display = 'none' \" ><b>Fermer</b></div></div>"; } } // echo result of the 3 format echo "<center>".$portrait."</center>"; echo "<br/>"; echo "<center>".$landscape."</center>"; echo "<br/>"; echo "<center>".$panoramic."</center>"; echo "<br/>"; echo "<center>".$other."</center>"; echo "<br/>"; echo "</div>" ?> Thanks ! Link to comment https://forums.phpfreaks.com/topic/167711-better-of-faster-way-of-reading-and-diplaying-folder-image/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.