-1

私は一日中見つけようとしていたいくつかのエラーを含むコードを持っています...これが(すべき)何をするか:フォルダ内のすべてのファイルを調べて、それが画像タイプであるかどうかを確認します、いくつかのフォルダーにサムネイルを作成します。それは仕事をしますが、その後は続行しません。エコーコマンドを入力しましたが、実行されませんでした。どんな助けにも感謝します!どうもありがとう。

$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";
4

2 に答える 2

0

画像のサイズを変更せずに、エコーのみを使用してコードを実行してみてください。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;
}
于 2012-08-16T17:17:41.180 に答える
0

$handleループ内での値を更新しないように見えるwhileため、無限ループが作成されます。

于 2012-08-16T17:01:37.060 に答える