检查并从子域读取文件

时间:2013-09-12 07:34:13

标签: php permissions subdomain file-exists

我有子域sub.domain.com。子域指向我的Web服务器上根目录的目录根目录/子目录。 现在我在服务器root / pdf上的另一个目录上有pdf。 我如何检查特定的pdf是否存在以及是否存在我想将文件复制到子域的临时目录。

如果我调用php脚本sub / check.php,请尝试检查存在的pdf:

$filename = "http://www.domain.com/pdf/1.pdf";
if (file_exists($filename)) 
{
    "exists";
} 
else 
{
    "not exists";
}

它始终显示:不存在。 如果我把网址放在浏览器中 - 将显示pdf。

我的/ sub-folder中的php脚本如何访问root或root / pdf中的文件?

bye jogi

2 个答案:

答案 0 :(得分:0)

file_exists() 功能不起作用。它不需要远程URL。
此功能用于检查文件系统中存在的文件。

查看手册here

利用cURL来实现这一目标。

    <?php
    $ch = curl_init("https://www.google.co.in/images/srpr/logo4w.png"); //pass your pdf here

    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";
     }

    ?>

答案 1 :(得分:0)

如果文件存在,

file_exists()在机器上本地查找。但你正在做的是使用URL。

由于您说您的脚本位于根文件夹中,因此您需要进行更改

$filename = "http://www.domain.com/pdf/1.pdf";

$filename = realpath(dirname(__FILE__)) . "/pdf/1.pdf"; // first part gets current directory