1

アップロード フォルダーに .mp4 ファイルを php でアップロードしました。今、ダウンロードリンクでダウンロードしています。サファリブラウザのWindowsシステムで正しくダウンロードされています。しかし、Mac システムでは、ビデオ ファイルは QuickTime プロ プレーヤーで再生されます。ダウンロードしたいだけなのに。しかし、デフォルトで再生されています。Safariブラウザのみの問題です。これを変更する方法はありますか。デフォルトではquicktime proプレーヤーで再生されないようにします。

4

2 に答える 2

1

これはおそらく、ファイルにリンクしているだけなので、ユーザーのコンピューターにそれを処理するソフトウェアがある場合、デフォルトで実行することを選択します (ユーザーがコンピューターをそのように設定していると仮定します)。

適切なヘッダーを使用すると、ブラウザにダウンロード ダイアログ プロンプトを表示させることができます。

 header("Cache-Control: public");
 header("Content-Description: File Transfer");
 header("Content-Disposition: attachment; filename=$file");
 header("Content-Type: video/mpeg");
 header("Content-Transfer-Encoding: binary");
于 2012-05-22T11:46:27.700 に答える
0

次のコードを使用してください、

    if (file_exists($file)) {
        header('Pragma: public');   // required
        header('Expires: 0');    // no cache
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Last-Modified: '.gmdate ('D, d M Y H:i:s', filemtime ($file)).' GMT');
        header('Cache-Control: private',false);
        header('Content-Type: octet/stream');
        header('Content-Disposition: attachment; filename="'.basename($file).'"');
        header('Content-Transfer-Encoding: binary');
        header('Content-Length: '.filesize($file));  // provide file size
        header('Connection: close');
        readfile($file);    // push it out
        exit();
    }
于 2012-05-22T11:48:03.177 に答える