获取远程文件名或mimtype PHP

时间:2016-08-01 10:48:41

标签: php

  
    

这不是一个重复的问题,经过彻底检查。

  

我想检测 REMOTE SERVER 上是否存在.xml文件(没有FTP)。人们可以拥有任意名称的xml文件,因此我不知道名称只是扩展部分很重要。

我尝试了三种获取文件信息的方法

  1. 使用' glob' (我认为只在当地工作)

    $finfo = finfo_open(FILEINFO_MIME_TYPE); foreach (glob("*xml") as $filename) { echo finfo_file($finfo, $filename); if(finfo_file($finfo, $filename) == 'application/xml') { ++$sitemap; echo "sitemap exists "; } } if($sitemap == 0) { echo "sitemap does not exist"; }

  2. 使用headers和pathinfo()(适用于远程文件但需要文件名)

    $url = 'http://seo.hfarazm.com'; $fileName = 'ANY_NAME.xml'; // currently sitemap.xml exists $file = $pathInfo['dirname'].'/'.$fileName; $file_headers = @get_headers($file);
    if($file_headers[0] == 'HTTP/1.1 404 Not Found') { if($fileName == "sitemap.xml") { echo 'Sitemap does not exist'; $exists = false; } else { echo 'sitemap exists'; $exists = true; } }

  3. 但是因为我将要访问许多远程服务器,所以我无法知道目录中远程xml文件的名称。解决方案是什么,以便可以检测到扩展名为.xml的远程服务器上的任何文件名?

0 个答案:

没有答案