PHP Filehandling,代码永远不会到达

时间:2012-08-16 16:37:26

标签: php

我有一段代码有一些错误,我一直试图找到它...这应该做的是:浏览文件夹中的所有文件,检查它是否是图像类型,如果是,请在某个文件夹中创建缩略图。它完成了工作但是:它之后没有继续,我放了一个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";

2 个答案:

答案 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;
}