有人可以帮我找出为什么这个功能不起作用。
给予该功能的参数是:
$ pathToImages是一个以$ _SERVER开头的完整路径[' DOCUMENT_ROOT']
$ pathToThumbs是一个URL,它实际上是一个名为" thumb"的子文件夹。在$ pathToImages内部
function createThumbs($pathToImages, $pathToThumbs) {
$dir = opendir($pathToImages);
while (false !== ($fname = readdir($dir))) {
if (is_file($pathToImages . $fname)) {
$info = pathinfo($pathToImages . $fname);
if ( strtolower($info['extension']) == 'jpg' || strtolower($info['extension']) == 'jpeg' ) {
list($width, $height, $type) = getimagesize($pathToImages . $fname);
switch ($type) {
case 1: $img = imagecreatefromgif($pathToImages . $fname);
break;
case 2: $img = imagecreatefromjpeg($pathToImages . $fname);
break;
case 3: $img = imagecreatefrompng($pathToImages . $fname);
break;
case 6: $img = imagecreatefromwbmp($pathToImages . $fname);
break;
default: $img = imagecreatefromjpeg($pathToImages . $fname);
};
$maxWidth = 164;
$maxHeight = 164;
if ($width > $height) {
$new_width = $maxWidth;
$new_height = floor($height * ($maxWidth / $imgw));
} else {
$new_height = $maxHeight;
$new_width = floor($width * ($maxHeight / $height));
};
$tmp_img = imagecreatetruecolor($new_width, $new_height);
// imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagecopyresampled($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($tmp_img, $pathToThumbs . $fname);
imagedestroy($tmp_img);
imagedestroy($img);
};
};
};
closedir($dir);
}
答案 0 :(得分:0)
功能对我来说没问题。 也许拇指的目录不是由PHP用户创建的,因此您的脚本无权在目录中写入数据。 尝试使用
创建PHP的/ thumbs目录mkdir($pathToThumbs);
并使用
chmod($pathToThumbs,755);
给予正确的权利。
否则请提供错误消息。 ;)