0

私は、ブラウザで動画を再生するのではなく、自分のサイトから動画をダウンロードするようユーザーに強制できる、単純な小さな php コードを用意しました。

<?php

$path = $_GET['path'];
header('Content-Disposition: attachment; filename=' . basename($path));
readfile($path);

?>

サイトを新しいサーバーに移動したため、 403 Forbidden "You don't have permission to access /download-stream.php on this server."という許可の問題があるようです。

php ファイルは以前と同じパーミッション (644) に設定されています。なぜ今これをしているのかわかりません。

4

2 に答える 2

1

私は通常、このようなものを使用してダウンロードを強制します。ダウンロードするファイルの種類を変更する場合は、必ずMIMEの種類を変更してください。

        $attachment_location = $_SERVER["DOCUMENT_ROOT"] . "/file.zip";
        if (file_exists($attachment_location)) {

            header($_SERVER["SERVER_PROTOCOL"] . " 200 OK");
            header("Cache-Control: public"); // needed for i.e.
            header("Content-Type: application/zip");
            header("Content-Transfer-Encoding: Binary");
            header("Content-Length:".filesize($attachment_location));
            header("Content-Disposition: attachment; filename=file.zip");
            readfile($attachment_location);
            die();        
        } else {
            die("Error: File not found.");
        } 
于 2011-06-01T07:03:34.853 に答える
0

次のようなことを試してください:

<?php
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$path\"\n");
$fp=fopen("$path", "r");
fpassthru($fp);

?>

于 2011-06-01T06:58:53.403 に答える