我在下面的代码在localhost上工作正常但不在实时服务器上创建缩略图。
<?php
$orig_directory = "../imagefolder"; //Full image folder
$thumb_directory = "../imagefolder/thumbfolder"; //Thumbnail folder
/* Opening the thumbnail directory and looping through all the thumbs: */
$dir_handle = @opendir($orig_directory); //Open Full image dirrectory
if ($dir_handle > 1){ //Check to make sure the folder opened
$allowed_types=array('jpg','jpeg','gif','png');
$file_parts=array();
$ext='';
$title='';
$i=0;
while ($file = @readdir($dir_handle)) {
/* Skipping the system files: */
if($file=='.' || $file == '..') continue;
$file_parts = explode('.',$file); //This gets the file name of the images
$ext = strtolower(array_pop($file_parts));
/* Using the file name (withouth the extension) as a image title: */
$title = implode('.',$file_parts);
$title = htmlspecialchars($title);
/* If the file extension is allowed: */
if(in_array($ext,$allowed_types)) {
/* If you would like to inpute images into a database, do your mysql query here */
/* The code past here is the code at the start of the tutorial */
/* Outputting each image: */
$nw = 100;
$nh = 100;
$source = "../imagefolder/{$file}";
$stype = explode(".", $source);
$stype = $stype[count($stype)-1];
$dest = "../imagefolder/thumbfolder/{$file}";
$size = getimagesize($source);
$w = $size[0];
$h = $size[1];
switch($stype) {
case 'gif':
$simg = imagecreatefromgif($source);
break;
case 'jpg':
$simg = imagecreatefromjpeg($source);
break;
case 'png':
$simg = imagecreatefrompng($source);
break;
}
$dimg = imagecreatetruecolor($nw, $nh);
$wm = $w/$nw;
$hm = $h/$nw;
$h_height = $nh/2;
$w_height = $nw/2;
if($w> $h) {
$adjusted_width = $w / $hm;
$half_width = $adjusted_width / 2;
$int_width = $w / $hm;
imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);
} else {
imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
}
imagejpeg($dimg,$dest,100);
}
}
/* Closing the directory */
@closedir($dir_handle);
}
?>
<?php //echo "Thumbnails succesfully created ";
header("Refresh: 0; url=display_thumbs.php");
?>
任何人都知道代码的内容是什么。
答案 0 :(得分:0)
听起来你需要查看你的文件权限。确保包含图像和此文件的文件夹具有写入权限。
答案 1 :(得分:0)
您的实时服务器上的PHP是针对GD-1.8还是以后编译的?需要使用:
imagecreatefromjpeg
imagecreatefromgif
imagecreatefrompng