我有一个简单的代码,用于检查服务器中是否存在文件。
<?php
$filename = 'www.testserver/upload/productimg/IN.ZL.6L_sml.jpg';
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>
问题:我的本地Web服务器说该文件不存在,即使当我在浏览器中复制粘贴url时,我可以看到图像。
我如何才能使条件表明该文件并不真正存在?
另一个选项是,发出请求并检查响应标头:
<?php
$headers = get_headers('http://www.example.com/file.jpg');
if($headers[0]=='HTTP/1.0 200 OK'){
return true; // file exists
}else{
return false; // file doesn't exists
}
?>
代码示例:
http://codepad.viper-7.com/qfnvme
对于图像的真实路径,您可以尝试:
<?php
$filename = 'www.testserver/upload/productimg/IN.ZL.6L_sml.jpg';
$testImage = @file_get_contents($filename);
if ($testImage != NULL) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>
使用
$filename = $_SERVER["DOCUMENT_ROOT"]."/upload/productimg/IN.ZL.6L_sml.jpg";
用于测试文件。