如何检查php中是否存在.exe文件

时间:2013-03-13 11:24:12

标签: php file file-exists

您好有办法检查给定路径上是否存在.exe文件。 我安装了ImageMagic。我有一条convert.exe Image Magic的路径。我需要在给定路径中检查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。

2 个答案:

答案 0 :(得分:1)

基于documentation评论专门针对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上遇到同样的问题,并且在连接字符串值时无法返回正确的结果。虽然你没有将字符串值连接在一起,但它至少值得一试,以确保没有其他奇怪的事情发生。

答案 1 :(得分:0)

对我而言,听起来你似乎想要弄清楚Imagemagick扩展是否存在。 PHP提供了这样做的方法,从而消除了你的外推和疯狂的方法。

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

此外,您可以通过

了解已安装的扩展程序
<?php 
    print_r(get_loaded_extensions()); 
?>