PHP文件检查始终返回false
这段代码从RSS提要读取,并应检测服务器上是否存在图像:PHP文件检查始终返回false,php,Php,这段代码从RSS提要读取,并应检测服务器上是否存在图像: <?php $feedURL = 'http://www.goapr.com/news/category/product-release/feed/'; $sxml = @simplexml_load_file($feedURL); if($sxml){ $i=0; foreach($sxml->channel as $channel){ foreach($channel->item as
<?php
$feedURL = 'http://www.goapr.com/news/category/product-release/feed/';
$sxml = @simplexml_load_file($feedURL);
if($sxml){
$i=0;
foreach($sxml->channel as $channel){
foreach($channel->item as $item){
//if($i==6){break;}
if($item->prodimg=="~"){break;}
if($item->prodpage=="~"){break;}
$i += 1;
$file = 'http://www.goapr.co.uk'. $item->prodimg;
if (file_exists($file)) {
echo "The file $file exists";
} else {
echo "The file $file does not exist";
}
}
}
}else{
echo 'Sorry there was an error. The recent products will return shortly.';
}
?>
许多图像确实存在,但它返回所有未找到的图像:
文件不存在文件不存在文件不存在文件不存在文件不存在文件不存在文件不存在文件不存在文件不存在文件不存在文件不存在文件不存在文件不存在文件不存在文件不存在
所有图像均检测为未找到
它与:由于文件与此PHP页面位于同一文件系统上。如果需要检查本地文件系统上是否存在文件,则应通过其本地路径而不是其URL来引用该文件,例如:
$file = $_SERVER["DOCUMENT_ROOT"]."/path/to/images/".$item->prodimg;
请注意,DOCUMENT\u ROOT
是由Web服务器主机设置的根路径(这意味着它可能无法在命令行中工作)
您也可以使用
\uuuuu DIR\uuuuu./”.$item->prodimg
如果图像与当前运行的脚本位于同一目录中。文件只在本地文件系统上工作。我个人使用cURL打开连接并获取信息,检查响应是否为404,但检查fopen
是否成功通常就足够了。您好,谢谢。这些文件位于同一文件上系统作为此PHP页面,这是否有帮助?您需要通过本地路径而不是URL检查可能的副本,例如$\u服务器[“DOCUMENT\u ROOT”]。“path/to/pictures/”..