マルチスレッド操作に PHP を使用することを考えたことはありますか?
マルチスレッド操作に PHP を使用することを検討したことがありますか?
最近、ダウンロード クラスのリモート ダウンロード ファイルが改良され、ファイルの内容をセクションごとに読み込んで最終的に結合できるかどうかを検討してください。テスト後は動作します~これは私がテストしたローカル ファイルです~
私が望むのは、ローカル ファイルまたはリモート ファイルをパッケージ化して操作する最も簡単な方法です。
/ /PHP を参照してください。ここではファイルを 2 つのセグメントに分割しているだけです。実際には、ファイル サイズは所定のセグメント サイズに従って分割できます。
$file = dirname(__FILE__).'/bullyframework_zend.7z';
echo filesize($file);
$handle = fopen($file, "rb");
$contents = fread($handle, ceil(filesize( $file)) /2)); //ファイルの組み合わせを 2 回読み取ります
$now_tell = ftell($handle) //現在のポインターを取得します
$end = fread($handle) , filesize( $file) - $now_tell); // 現在のポインターから残りのファイルを読み取ります
fclose($handle);
file_put_contents('test.7z', $contents. $end) ; //ファイルが完了したかどうかを確認するためにファイルを書き込みます
echo "
";
echo filesize('test.7z');
? >
-----解決策---------
ダウンロードをブロックするには、双方が「再開可能なダウンロード」をサポートする必要があります
一般的なダウンロード ツールはこれをサポートしているため、サーバー側で行う必要があります。 PHP によって実装されるブレークポイント再開サービスは、大まかに次のとおりです
- PHP コード
// ヘッダーの書き込みを開始します header("キャッシュ制御:"); header("キャッシュ制御: public"); header("Content-Type: $ctype"); $filespaces = str_replace("_", " ", $filename); // ファイル名にアンダースコアが含まれている場合は、スペースに置き換えます $header='Content-Disposition: 添付ファイル名='.$filespaces; ヘッダー($ヘッダー); header("Accept-Range: バイト"); $size = ファイルサイズ($file); // http_range がブラウザ (またはダウンロード マネージャー) によって送信されたかどうかを確認します if(isset($_SERVER['HTTP_RANGE'])) { // 「はい」の場合、不足している部分をダウンロードします $seek_range = substr($_SERVER['HTTP_RANGE'] , 6); $range =explode( '-', $seek_range); if($range[0] > 0) { $seek_start = intval($range[0]); } if($range[1] > 0) { $seek_end = intval($range[1]); } header("HTTP/1.1 206 部分コンテンツ"); header("Content-Length: " . ($seek_end - $seek_start + 1)); header("Content-Range: バイト $seek_start-$seek_end/$size"); } それ以外 { header("Content-Range: バイト 0-$seek_end/$size"); header("Content-Length: $size"); } // ファイルを開きます $fp = fopen("$file","rb"); //欠落部分の先頭を探す fseek($fp,$seek_start); // バッファリングされたダウンロードを開始します $n = 0; while(!feof($fp)) { //大きなファイルの制限時間をリセットします エコー fread($fp,1024*$speed); } fclose($fp); 終了;<div class="clear"></div>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ファイルのサイズを取得するには、Java の File.length() 関数を使用します。ファイル操作を扱うとき、ファイル サイズは非常に一般的な要件です。Java では、ファイルのサイズを取得するための非常に便利な方法、つまり length( ) File クラスのメソッド。この記事では、このメソッドを使用してファイルのサイズを取得する方法と、対応するコード例を紹介します。まず、サイズを取得したいファイルを表す File オブジェクトを作成する必要があります。 File オブジェクトを作成する方法は次のとおりです: Filef

Seek Thermal は、Android および iOS スマートフォン用に改良された Nano 200 および Nano 300 熱画像カメラをリリースしました。赤外線カメラは熱を認識し、PC 改造者が CPU と GPU をオーバークロックする際の冷却と加熱の問題を迅速に検出するのに役立ちます。伝統

PHP BLOB をファイルに変換する方法: 1. PHP サンプル ファイルを作成します; 2. 「function blobToFile(blob) {return new File([blob], 'screenshot.png', { type: 'image/jpeg' })」を通じて} 」メソッドを使用して、Blob をファイルに変換できます。

オープン ソースの詳細については、次のサイトを参照してください。 51CTO Honmeng 開発者コミュニティ https://ost.51cto.com 実行環境 DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. アプリケーションを作成するには、[ファイル] をクリックします。 >新しいファイル ->プロジェクトの作成。テンプレートを選択します: [OpenHarmony] EmptyAbility: プロジェクト名 shici、アプリケーション パッケージ名 com.nut.shici、およびアプリケーションの保存場所 XXX (中国語、特殊文字、スペースは含まれません) を入力します。 CompileSDK10、モデル: ステージ。デバイス

Java の File.renameTo() 関数を使用してファイルの名前を変更する Java プログラミングでは、ファイルの名前を変更する必要がよくあります。 Java には、ファイル操作を処理するための File クラスが用意されており、その renameTo() 関数でファイルの名前を簡単に変更できます。この記事では、Java の File.renameTo() 関数を使用してファイルの名前を変更する方法と、対応するコード例を紹介します。 File.renameTo() 関数は、File クラスのメソッドです。

[SpringBoot] Feign 呼び出しを介してヘッダーのパラメーターを渡す Feign を介してヘッダー パラメーターを渡す方法 問題の説明 Feign を使用して Spring Cloud の別のサービスの API インターフェイスをリクエストする場合、ヘッダーでパラメーターを渡す必要があります。特別な処理が行われると、ヘッダー内のパラメータが失われます。解決策 1: @RequestHeader(name="headerName") を介して渡します。例: Feign は次のように定義されます @FeignClient(name="service-name")pub

Linux ヘッダーは、コンテンツに関するメタデータを含めるために使用されるファイルまたはデータ ストリームの先頭を指します。ヘッダー ファイルを正しく記述して使用することで、開発者はシステム リソースをより有効に活用し、コードの可読性と保守性を向上させることができます。

ファイルの親パスを取得するには、Java の File.getParent() 関数を使用します Java プログラミングでは、ファイルやフォルダーを操作する必要がよくあります。場合によっては、ファイルの親パス、つまりファイルが存在するフォルダーのパスを取得する必要があることがあります。 Java の File クラスには、ファイルまたはフォルダーの親パスを取得する getParent() メソッドが用意されています。 File クラスは、ファイルとフォルダーを Java で抽象表現したもので、ファイルとフォルダーを操作するための一連のメソッドを提供します。その中で、手に入れてください
