我正在查看此页面:http://davidwalsh.name/generate-photo-gallery
它有一些代码来创建一个php库。我可以帮助您将代码编译成有效的工作文件吗?我看到那里的代码,我对如何将它们组合在一起感到有些困惑。
感谢
答案 0 :(得分:1)
这就是我为工作模式所做的 -
1)在我的xampp / htdocs / photogallery
下创建了文件夹/文件结构
此结构下的文件夹 -
preload-images 文件夹包含jpg图片(这个文件放在这个文件夹下,除非你得到“没有图像显示”的消息)
preload-images-thumbs 会自动为之前的文件夹图片下的图片生成缩略图
我的 index.php 包含这些文件的链接 - smoothbox.css,style.css,mootools-1.2.4.js,smoothbox.js(这些文件的来源,我是从网站中提取的演示)
然后我将php文件包含为include_once('test.php');使用以下代码 -
/** settings **/
$images_dir = 'preload-images/';
$thumbs_dir = 'preload-images-thumbs/';
$thumbs_width = 200;
$images_per_row = 3;
/** generate photo gallery **/
$image_files = get_files($images_dir);
if(count($image_files)) {
$index = 0;
foreach($image_files as $index=>$file) {
$index++;
$thumbnail_image = $thumbs_dir.$file;
if(!file_exists($thumbnail_image)) {
$extension = get_file_extension($thumbnail_image);
if($extension) {
make_thumb($images_dir.$file,$thumbnail_image,$thumbs_width);
}
}
echo '<a href="',$images_dir.$file,'" class="photo-link smoothbox" rel="gallery"><img src="',$thumbnail_image,'" /></a>';
if($index % $images_per_row == 0) { echo '<div class="clear"></div>'; }
}
echo '<div class="clear"></div>';
}
else {
echo '<p>There are no images in this gallery.</p>';
}
在 test.php 下,我放置了这个内容 -
/* function: generates thumbnail */
function make_thumb($src,$dest,$desired_width) {
/* read the source image */
$source_image = imagecreatefromjpeg($src);
$width = imagesx($source_image);
$height = imagesy($source_image);
/* find the "desired height" of this thumbnail, relative to the desired width */
$desired_height = floor($height*($desired_width/$width));
/* create a new, "virtual" image */
$virtual_image = imagecreatetruecolor($desired_width,$desired_height);
/* copy source image at a resized size */
imagecopyresized($virtual_image,$source_image,0,0,0,0,$desired_width,$desired_height,$width,$height);
/* create the physical thumbnail image to its destination */
imagejpeg($virtual_image,$dest);
}
/* function: returns files from dir */
function get_files($images_dir,$exts = array('jpg')) {
$files = array();
if($handle = opendir($images_dir)) {
while(false !== ($file = readdir($handle))) {
$extension = strtolower(get_file_extension($file));
if($extension && in_array($extension,$exts)) {
$files[] = $file;
}
}
closedir($handle);
}
return $files;
}
/* function: returns a file's extension */
function get_file_extension($file_name) {
return substr(strrchr($file_name,'.'),1);
}
现在运行服务器中的代码,如果您有任何问题,请告诉我。
答案 1 :(得分:0)
您不必编译任何东西。您只需要在支持php的服务器上上传代码。 或者您可以在PC /笔记本电脑上安装XAMMP或WAMP。