PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPスクリプトを介して大きなファイルをダウンロードする方法は?


PHPスクリプトを使用して大きなファイルをダウンロードするには、コードは次のとおりです-

<?php
function readfile_chunked($filename,$retbytes=true) {
   $chunksize = 1*(1024*1024); // how many bytes per chunk the user wishes to read
   $buffer = '';
   $cnt =0;
   $handle = fopen($filename, 'rb');
   if ($handle === false) {
      return false;
   }
   while (!feof($handle)) {
      $buffer = fread($handle, $chunksize);
      echo $buffer;
      if ($retbytes) {
         $cnt += strlen($buffer);
      }
   }
   $status = fclose($handle);
   if ($retbytes && $status) {
      return $cnt; // return number of bytes delivered like readfile() does.
   }
   return $status;
}
?>

出力

これにより、次の出力が生成されます-

The large file will be downloaded.

関数「readfile_chunked」(ユーザー定義)は、ファイルの名前と、大きなファイルが正常にダウンロードされたことを意味する返されるバイト数のデフォルト値「true」の2つのパラメーターを取ります。変数「chunksize」は、読み取る必要のあるチャンクあたりのバイト数で宣言されています。 「buffer」変数はnullに割り当てられ、「cnt」は​​0に設定されます。ファイルはバイナリ読み取りモードで開かれ、変数「handle」が割り当てられます。

「ハンドル」のファイルの終わりに達するまで、whileループが実行され、読み取る必要のあるチャンクの数に基づいてファイルの内容が読み取られます。次に画面に表示されます。 「retbytes」(関数の2番目のパラメーター)の値がtrueの場合、バッファーの長さが「cnt」変数に追加されます。それ以外の場合、ファイルは閉じられ、「cnt」値が返されます。最後に、関数は「ステータス」を返します。


  1. インターネット経由で大きなファイルを送信する方法

    近年、インターネット経由で大きなファイルを送信する機能は、多くのユーザーにとって不可欠になっています。この記事では、手間をかけずにインターネット経由で大きなファイルを転送する最も信頼できる方法を紹介します. 標準のメッセージング プラットフォーム (Gmail、Outlook など) では 25 MB を超えるファイルを送信できないため、インターネット経由で大きなファイルを送信するには別の方法を使用する必要があります。ここでは、インターネット経由で大きなファイルを安全に転送するために見つけた最も簡単な方法を選択しました. 大容量ファイルをインターネット経由で無料で送信/転送する方法 圧縮:

  2. WP-Config.php ファイルを保護する方法

    ハッカーの考え方から考えてみてください。何千もの Web サイトで使用されているプラ​​ットフォームに侵入したり、複数の Web サイトでプラットフォームを総当たり攻撃したりしませんか? WP-Scanner などのツールをオープンソースで利用できるようになったことで、アマチュアのスクリプト初心者でさえ、プロの WordPress Web サイトに侵入し、悪夢のような体験を引き起こす可能性があります。また、wp-config.php あなたのウェブサイトを作ったり壊したりすることができるワンストップファイルです.妥協させますか? wp 構成ファイルを保護するための手順を学びます WordP