1

サーバー上のフォルダーへのアクセスを拒否しようとしています。このフォルダーには、php スクリプトを介してのみダウンロードできるファイルがあります。php スクリプトは、ファイルのダウンロードを強制するために使用されます。

  function downloadFile($file){
        $file_name = $file;
        $mime = 'application/force-download';
        header('Pragma: public');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Cache-Control: private',false);
        header('Content-Type: '.$mime);
        header('Content-Disposition: attachment; filename="'.basename($file_name).'"');
        header('Content-Transfer-Encoding: binary');
        header('Content-Length: '.filesize($file_name));    // provide file size
        header('Connection: close');
        readfile($file_name);
        exit();
    }

また、htaccess は localhost へのアクセスのみを提供する必要があります。

order deny,allow
deny from all
allow from 127.0.0.1

ただし、スクリプトが完全なファイルではなく、同じ名前のゼロバイトのファイルをダウンロードするたびに。ただし、htaccessを削除すると、すべて問題ありません..エラーがどこにあるのかわかりません。ご協力いただきありがとうございます

4

1 に答える 1

0

問題はその readfile(); でした。URL ではなく、マシン上のファイルの絶対パスが必要です。

例 /home/person/file.exe

于 2012-06-04T22:07:39.913 に答える