w4designs Posted May 10, 2007 Share Posted May 10, 2007 OK, I'm looking for a php script that will look in my images folder and for each image in there, create an html file named <imagename>.html and store it in a folder called "pages". I currently use the code inserted below that scans my image folder, creates an xml file that contains a list of the images and the my Flash image gallery reads the xml file to create the gallery. but I would rather do it by the method I'm requesting above and get away from flash. Any ideas? Even if there's a way to modify the code below to do what I want, that would be great. Thanks! Buster <? $options .= '<SIMPLEVIEWER_DATA maxImageDimension="500" textColor="0xFFFFFF" frameColor="0xFFFFFF" bgColor="0x845091" frameWidth="5" stagePadding="5" thumbnailColumns="3" thumbnailRows="4" navPosition="right" navDirection="LTR" title="" imagePath="" thumbPath="">'; // Set showDownloadLinks to true if you want to show a 'Download Image' link as the caption to each image. $showDownloadLinks = false; // set useCopyResized to true if thumbnails are not being created. // This can be due to the imagecopyresampled function being disabled on some servers $useCopyResized = false; // Set sortImagesByDate to true to sort by date. Otherwise files are sorted by filename. $sortImagesByDate = false; // Set sortInReverseOrder to true to sort images in reverse order. $sortInReverseOrder = false; // END OF OPTIONS // ----------------------- print "Creating XML and thumbnails for SimpleViewer.<br>"; print "-------------------------------------------------<br><br>"; //Get GD imaging library info $tgdInfo = getGDversion(); if ($tgdInfo == 0){ print "Note: The GD imaging library was not found on this Server. Thumbnails will not be created. Please contact your web server administrator.<br><br>"; } if ($tgdInfo < 2){ print "Note: The GD imaging library is version ".$tgdInfo." on this server. Thumbnails will be reduced quality. Please contact your web server administrator to upgrade GD version to 2.0.1 or later.<br><br>"; } if ($sortImagesByDate){ print "Sorting images by date.<br>"; }else{ print "Sorting images by filename.<br>"; } if ($sortInReverseOrder){ print "Sorting images in reverse order.<br><br>"; }else{ print "Sorting images in forward order.<br><br>"; } //loop thru images $xml = '<?xml version="1.0" encoding="UTF-8" ?>'.$options; $folder = opendir("images"); while($file = readdir($folder)) { if ($file[0] != "." && $file[0] != ".." ) { if ($sortImagesByDate){ $files[$file] = filemtime("images/$file"); }else{ $files[$file] = $file; } } } // now sort by date modified if ($sortInReverseOrder){ arsort($files); }else{ asort($files); } foreach($files as $key => $value) { $xml .= ' <IMAGE>'; $xml .= '<NAME>'.$key.'</NAME>'; //add auto captions: 'Image X' if ($showDownloadLinks){ $xml .= '<CAPTION><![CDATA[<A href="images/'.$key.'" target="_blank"><U>Open image in new window</U></A>]]></CAPTION>'; }else{ $xml .= '<CAPTION></CAPTION>'; } $xml .= '</IMAGE>'; print "- Created Image Entry for: $key<br>"; if (!file_exists("./thumbs/".$key)){ if (createThumb($key)){ print "- Created Thumbnail for: $key<br>"; } } } closedir($folder); $xml .= '</SIMPLEVIEWER_DATA>'; //next line can cause erroneous warnings //chmod( 'imageData.xml', 0777 ); $file = "imageData.xml"; if (!$file_handle = fopen($file,"w")) { print "<br>Cannot open XML document: $file<br>"; } elseif (!fwrite($file_handle, $xml)) { print "<br>Cannot write to XML document: $file<br>"; }else{ print "<br>Successfully created XML document: $file<br>"; } fclose($file_handle); // }}} // {{{ createThumb() /** * Create a squared thumbnail from an existing image. * * @param string $file Location and name where the file is stored . * @return boolean * @access public * @author Christian Machmeier */ function createThumb($fileName) { // Get information about the installed GD. $gdVersion = getGDversion(); if ($gdVersion == false) { return false; } $file = 'images/'.$fileName; $fileDest = 'thumbs/'.$fileName; // Get the image dimensions. $dimensions = @getimagesize($file); $width = $dimensions[0]; $height = $dimensions[1]; $outputX = 45; $outputY = 45; $quality = 85; // The image is of vertical shape. if ($width < $height) { $deltaX = 0; $deltaY = ($height - $width) / 2; $portionX = $width; $portionY = $width; // The image is of horizontal shape. } else if ($width > $height) { $deltaX = ($width - $height) / 2; $deltaY = 0; $portionX = $height; $portionY = $height; // The image is of squared shape. } else { $deltaX = 0; $deltaY = 0; $portionX = $width; $portionY = $height; } $imageSrc = @imagecreatefromjpeg($file); // The thumbnail creation with GD1.x functions does the job. if ($gdVersion < 2 || $useCopyResized) { // Create an empty thumbnail image. $imageDest = @imagecreate($outputX, $outputY); // Try to create the thumbnail from the source image. if (@imagecopyresized($imageDest, $imageSrc, 0, 0, $deltaX, $deltaY, $outputX, $outputY, $portionX, $portionY)) { // save the thumbnail image into a file. @imagejpeg($imageDest, $fileDest, $quality); // Delete both image resources. @imagedestroy($imageSrc); @imagedestroy($imageDest); return true; } } else { // The recommended approach is the usage of the GD2.x functions. // Create an empty thumbnail image. $imageDest = @imagecreatetruecolor($outputX, $outputY); // Try to create the thumbnail from the source image. if (@imagecopyresampled($imageDest, $imageSrc, 0, 0, $deltaX, $deltaY, $outputX, $outputY, $portionX, $portionY)) { // save the thumbnail image into a file. @imagejpeg($imageDest, $fileDest, $quality); // Delete both image resources. @imagedestroy($imageSrc); @imagedestroy($imageDest); return true; } } return false; } function getGDversion() { static $gd_version_number = null; if ($gd_version_number === null) { // Use output buffering to get results from phpinfo() // without disturbing the page we're in. Output // buffering is "stackable" so we don't even have to // worry about previous or encompassing buffering. ob_start(); phpinfo(; $module_info = ob_get_contents(); ob_end_clean(); if (preg_match("/\bgd\s+version\b[^\d\n\r]+?([\d\.]+)/i", $module_info,$matches)) { $gd_version_number = $matches[1]; } else { $gd_version_number = 0; } } return $gd_version_number; } ?> Link to comment https://forums.phpfreaks.com/topic/50828-need-script-to-create-html-file/ Share on other sites More sharing options...
w4designs Posted May 10, 2007 Author Share Posted May 10, 2007 Or is there a chance that this type of thing is already written and I just don't know what to search for to find it? Thanks! Link to comment https://forums.phpfreaks.com/topic/50828-need-script-to-create-html-file/#findComment-250071 Share on other sites More sharing options...
w4designs Posted May 11, 2007 Author Share Posted May 11, 2007 Anybody? Link to comment https://forums.phpfreaks.com/topic/50828-need-script-to-create-html-file/#findComment-250454 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.