-1

サブドメイン sub.domain.com があります。サブドメインは、Web サーバーのルート ディレクトリのディレクトリ root/sub を指しています。今、私はサーバーのルート/pdfの別のディレクトリにpdfを持っています。特定のpdfが存在するかどうかを確認するにはどうすればよいですか。存在する場合は、ファイルをサブドメインの一時ディレクトリにコピーします。

PHPスクリプトsub/check.phpを呼び出して、存在するpdfをチェックしようとすると:

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

常に表示されます:存在しません。URLを取得してブラウザに配置すると、pdfが表示されます。

/sub-folder 内の私の php スクリプトは、ルートまたは root/pdf 内のファイルにどのようにアクセスできますか?

バイ・ジョギ

4

2 に答える 2

0

file_exists() は、ファイルが存在する場合、マシン上でローカルに検索します。しかし、あなたがしているのは URL を使用していることです。

スクリプトはルート フォルダーにあると言うので、変更を行う必要があります。

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

の中へ

$filename = realpath(dirname(__FILE__)) . "/pdf/1.pdf"; // first part gets current directory
于 2013-09-12T07:51:42.737 に答える
0

file_exists()関数はそのようには機能しません。リモート URL は使用しません。
この関数は、ファイル システム上に存在するファイルをチェックするために使用されます。

マニュアルはこちら

これを実現するには、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";
     }

    ?>
于 2013-09-12T07:36:12.607 に答える