1

完全なドメインとファイルパスからファイルの内容を読み取れるようにしたいので、次のようになります。

http://www.example.com/files/file.txt

この場合、私ができないことは次のとおりです。

../files/file.txt

私はcurl、fopen、file_get_contentsを試しましたが、むしろcurlを使用したいと思いますが、それらのいずれでも機能させることができません。

これが機能しない明らかな理由がありますか?

各試行のコード スニペットは次のとおりです。おそらく、誰かがそのうちの 1 つに問題があることを知っていますか?

ちなみに、私ができれば../files/file.txt、各オプションで機能します。

$file = "http://www.example.com/files/file.txt";

fopen:

$f=fopen($file,'r'); 
$data=''; 
while(!feof($f)) 
    $data.=fread($f,$size); 
fclose($f); 

カール:

function curl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}

$data = curl($file);

file_get_contents:

$data = file_get_contents($file);

すべての助けを前もって感謝します。

4

2 に答える 2

3

file_get_contentsは、PHP 4 >= 4.3.0 および PHP 5 の URL に対して正常に機能します。

「 fopenラッパーが有効になっている場合、この関数でURLをファイル名として使用できます」

多くの共有ホスティング事業者は、このオプションを無効にしているか、古いバージョンの PHP を使用しており、PHP のセーフ モードを使用して外部ファイルのロードをブロックしています。

error_reportingを有効にすることから始めて、ホスティング業者の Web サイトを見て、外部ファイルをブロックしているかどうかを確認してください。

于 2013-06-21T18:18:09.700 に答える
0

おそらく、ホスティングで url fopen が無効になっていて、別のドメインからの url が無効になっているだけですか?

php.ini var allow_url_fopenがオンになっている 必要があります

于 2017-02-24T06:45:29.123 に答える