php が大きなファイルをダウンロードできない問題の解決策: まず「php.ini」ファイルを見つけて開き、次に「memory_limit」を 1024M に設定し、データをクライアントのブラウザに出力します。
推奨: 「PHP ビデオ チュートリアル 」
大きなファイルをダウンロードできない問題を解決するPHP の使用
実際のアプリケーションでは、PHP の fread() 関数を使用してサーバー ファイルを読み取るときにサイズ制限があります。サーバーのファイルサイズが一定量(128M?)を超えると、クライアントのブラウザはファイルをダウンロードできなくなります。設定ファイルphp.iniのmemory_limit制限が原因でしょうか?
memory_limit を 1024M に設定した後、180M ファイルをテストしましたが、問題が残ることがわかりました。コード:
header('content-type:application/octet-stream'); header('accept-ranges: bytes'); header('content-length: '.filesize($filePath)); header('content-disposition:attachment;filename='.$fileName); $fp = fopen($filePath, "r"); echo fread($fp, filesize($filePath)); fclose($fp);
上記の読み取り方法は、データをクライアントのブラウザに一度に出力します。 . それと何か関係があるのでしょうか?ファイルを 1 行ずつ読んでみてください:
header('content-type:application/octet-stream'); header('accept-ranges: bytes'); header('content-length: '.filesize($filePath)); header('content-disposition:attachment;filename='.$fileName); $fp = fopen($filePath, "r"); while(!feof($fp)) { echo fgets($fp, 4096); } fclose($fp);
ああ!もう問題ありません。
以上がPHPで大きなファイルをダウンロードできない場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。