检查并从子域名中读取文件
检查并从子域名中读取文件
我有一个子域名sub.domain.com。这个子域名指向我的Web服务器根目录上的一个目录root/sub。
现在我在服务器根目录下的另一个目录root/pdf上有一些pdf文件。
我想要检查特定的pdf文件是否存在,如果存在,我想将该文件复制到子域名的临时目录中。
如果我调用一个名为sub/check.php的php脚本来检查存在的pdf文件:
$filename = "http://www.domain.com/pdf/1.pdf"; if (file_exists($filename)) { "存在"; } else { "不存在"; }
它总是显示:不存在。
如果我将该URL放入浏览器中,pdf文件会显示出来。
我的/sub目录中的php脚本如何访问根目录或root/pdf中的文件?
再见,jogi
问题出现的原因是使用file_exists()
函数无法检查远程URL上的文件是否存在。该函数只能用于检查文件系统中的文件是否存在。解决方法是使用cURL来实现检查远程URL上的文件是否存在。
解决方法的代码如下:
<?php $ch = curl_init("https://www.google.co.in/images/srpr/logo4w.png"); //替换为你要检查的文件URL curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false); curl_exec($ch); $retcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if($retcode==200) { echo "exists"; } else { echo "not exists"; } ?>
然后,文章中提到了如何将文件复制到子目录中的问题,并且给出了两种方法。但这不是与检查文件是否存在的问题相关的。如果对这个问题感兴趣,可以参考这个线程的讨论:stackoverflow.com/questions/9843933/…
最后,提问者认为可能可以使用cURL来同时检查文件是否存在和读取文件内容,但这与问题无关。