0

パブリック Web スペースの外部にあるファイルにアクセスするには、プライベート フォルダからコンテンツを取得できるパブリック Web スペースのスクリプトが必要です。

$allowedFiles = array(
    1 => '/path/to/private/space/on/server/file1.txt',
    2 => '/path/to/private/space/on/server/file2.txt',
    3 => '/path/to/private/space/on/server/file3.txt',
    4 => '/path/to/private/space/on/server/file4.txt',
);

$id = filter_var($_GET['id'], FILTER_VALIDATE_INT);

if (isset($allowedFiles[$id])) {
    readfile($allowedFiles[$id]);
}

今あなたがするとき

xmlhttp.open("GET","file.php?id=4",false); <==最後のパラメーターが false (同期) であることに注意してください。スクリプトは次のコンテンツを送信します。

/path/to/private/space/on/server/file4.txt をクライアントに送信します。

このコードは小さいファイルには機能しますが、ファイルが大きい場合、つまり 5 mgbytes の場合、このコードは失敗します。

何か案が?

4

1 に答える 1

0

php.ini を確認し、 と の値をより高い値に変更してみてupload_max_filesizeくださいpost_max_size

強制的にダウンロードしたいすべてのファイルをディレクトリに置き、これをそのディレクトリの .htaccess に設定します。

<Files *.*>
ForceType applicaton/octet-stream
</Files>

このスレッドで見つかりました: http://www.sitepoint.com/forums/showthread.php?700250-PHP-File-%28Size%29-Download-Limit 他の解決策がいくつかあります。

于 2012-10-02T17:22:19.120 に答える