0

.exeこんにちは、ファイルが特定のパスに存在するかどうかを確認する方法があります。をインストールしていますImageMagicconvert.exe私はイメージマジックの道を持っています。指定されたパスにconvert.exe存在するかどうかを確認する必要があります。実装しました

$settingFileContent = file_get_contents($settingFilePath);
       // print_r($settingFileContent);
        $allPaths = unserialize(stripslashes($settingFileContent));

if (isset($allPaths['IMAGE_CONVERT_EXE'])) {
                //cho $allPaths['IMAGE_CONVERT_EXE'];
                if (file_exists($allPaths['IMAGE_CONVERT_EXE'])) {
                    $analysisResultObj->level = ENUM_SUCCESS;
                } else {
                    $analysisResultObj->level = ENUM_ERROR;
                    $analysisResultObj->infoText = "Image Magic convert.ext has wrong path";   
                 Logger::getLogger('Application')->error('Image Magic convert.ext has wrong path');
                }
            }

ファイル内の値を変更でき $allPaths['IMAGE_CONVERT_EXE']ます。その状態でも間違った値に変更するとtrueを返します。

4

2 に答える 2

1

特にWindows上のPHPに関するドキュメントのコメントに基づいて、私は推測しています(そして明確にしましょう: PHPのすべては推測です)これを試してください:

$file = 'd:/somfolder/imagemagic/convert.ext'
if(file_exists($file)) {
    // should be false
}

実際のコードに基づいて、試してみました:

$file = $allPaths['IMAGE_CONVERT_EXE'];
if(file_exists($file)) {
    // should be false
}

ドキュメントを見ると、Windows でも同じ問題が発生し、文字列値を連結するときに正しい結果を返すことができないというコメントが寄せられています。文字列値を連結しているわけではありませんが、他に奇妙なことが起こっていないことを確認するために、少なくとも試してみる価値があります。

于 2013-03-13T11:29:36.530 に答える
0

私には、Imagemagick拡張機能が存在するかどうかを確認しようとしているように聞こえます。PHPは、まさにそれを実行する方法を提供します。これにより、外挿された非常識なアプローチをすべて一緒に排除できます。

<?php    
    echo extension_loaded('imagick');
?>

さらに、インストールされている拡張機能のアイデアを次の方法で取得できます。

<?php 
    print_r(get_loaded_extensions()); 
?>
于 2013-03-13T11:40:26.010 に答える