0

サーバー上の画像からビデオを作成するスクリプトがあり、ユーザーにビデオをダウンロードさせます。ビデオがダウンロードされた後、スクリプトはサーバーからビデオ ファイルを削除します。

ビデオ ファイルがダウンロードされているとき、ヘッダーの content-length は file size() 関数で正しいファイル サイズを示します。しかし、ファイルのダウンロード後またはダウンロード中に、ユーザーが Web サイトのリンクをクリックすると、file size() stat failed エラーが発生します。

コードは次のとおりです。

exec('/usr/bin/mencoder "mf://' . $images . '" -mf fps=25 -o ' . $outputvideo . ' -ovc lavc -lavcopts vcodec=mjpeg:vbitrate=800');

if (file_exists($outputvideo)){
header('Content-Type: video/x-msvideo');
header('Content-Disposition: attachment; filename=' . $outputfilename . '');
header('Content-Length: ' . filesize($outputfilename));
ob_clean();
readfile($outputvideo);
unlink($outputvideo);
exit();
}
4

1 に答える 1

1

次の行をコメントアウト/削除することで、これを修正できました。

header('Content-Length: ' . filesize($outputfilename));
于 2014-06-03T17:38:41.670 に答える