ホームページ > バックエンド開発 > PHPの問題 > PHPで大きなファイルをダウンロードできない場合の対処法

PHPで大きなファイルをダウンロードできない場合の対処法

藏色散人
リリース: 2023-03-05 06:18:01
オリジナル
2933 人が閲覧しました

php が大きなファイルをダウンロードできない問題の解決策: まず「php.ini」ファイルを見つけて開き、次に「memory_limit」を 1024M に設定し、データをクライアントのブラウザに出力します。

PHPで大きなファイルをダウンロードできない場合の対処法

推奨: 「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 サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート