您好有办法检查给定路径上是否存在.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。
答案 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());
?>