我有一段代码有一些错误,我一直试图找到它...这应该做的是:浏览文件夹中的所有文件,检查它是否是图像类型,如果是,请在某个文件夹中创建缩略图。它完成了工作但是:它之后没有继续,我放了一个echo命令,它从未执行过。我知道任何帮助!非常感谢。
$bilddateitypen = array('gif','jpg','JPG','GIF');
$importdir = '../sync';
if ($handle = opendir($importdir)) {
while (($file = readdir($handle)) !== false) {
if (!is_dir($importdir."/".$file) && is_file($importdir."/".$file)) {
$ex = explode('.',$file);
if(in_array($ex[count($ex)-1], $bilddateitypen)) {
$file = utf8_decode($file);
$thumbnail = new thumbnail($importdir."/".$file);
$thumbnail->jpeg_quality(93);
$thumbnail->save("../shop/images/product_images/original_images/".$file);
$thumbnail->size_auto(500);
$thumbnail->save("../shop/images/product_images/popup_images/".$file);
$thumbnail->size_auto(200);
$thumbnail->save("../shop/images/product_images/info_images/".$file);
$thumbnail->size_auto(112);
$thumbnail->save("../shop/images/product_images/thumbnail_images/".$file);
} else {
continue;
}
}
}
closedir($handle);
}
echo "Hallo Welt";
答案 0 :(得分:0)
看起来你永远不会在$handle
循环中更新while
的值,因此会创建一个无限循环。
答案 1 :(得分:0)
尝试仅使用echo运行代码而不调整图像大小。尝试var_dump变量并检查其中的内容。确保您有错误报告。如果发生一些错误。
以这种方式检查图片扩展名:
public static function isImage($fileName)
{
$type = exif_imagetype($fileName);
if (!(($type == IMAGETYPE_JPEG) || ($type == IMAGETYPE_GIF) || ($type == IMAGETYPE_PNG)))
return false;
return true;
}