1

PHPでリモートデータをフェッチする他の種類はありますか?ただし、php.iniで、、またはを使用してリモートコンテンツをストリーミングできるように設定されている場合"cURL"を除きますか?"allow_url_fopen""On""fopen""fsockopen""file_get_contents"

私はカスタムPHPリモートコンテンツストリーマーに取り組んでおり、またはがである場合、リモートコンテンツをストリーミングする他の方法を探して"cURL""allow_url_fopen"ます"Off"

4

2 に答える 2

1

システムコールの実行はどうですか?コマンドラインでorpassthru()を呼び出してデータをキャプチャするexec()system()curlwget

Linuxの例:

ob_start();
passthru("wget -U 'CustomUserAgent' -q -O - 'http://www.example.com/'");
$output = ob_get_clean();

Windows 7以降の例(PowerShellを使用)。ここから撮影

(new-object System.Net.WebClient).DownloadFile('http://www.example.come','C:\tmp\output.tx‌​t') –

Windowsメソッドを拡張するには、phpからPowershellスクリプトを実行するを参照してください。

于 2012-10-17T00:54:53.903 に答える
1

「allow_url_fopen」は「fsockopen」には影響しません。

たとえそうだったとしても、Webサーバーでシステムコールを有効にすることは、「allow_url_fopen=On」を使用するよりも大きなセキュリティ上の脅威です。

fsockopenを無効にするには、php.iniの「disable_functions」に追加します。

于 2012-11-23T20:19:52.620 に答える