ホームページ > バックエンド開発 > PHPチュートリアル > ファイルがクライアントによって正常にアップロードされたかどうかを確認する方法

ファイルがクライアントによって正常にアップロードされたかどうかを確認する方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 12:58:58
オリジナル
1011 人が閲覧しました

ファイルがクライアントによって正常にダウンロードされたかどうかを確認する方法
rt? ファイルがクライアントによって正常にダウンロードされたことを確認するにはどうすればよいですか?
------解決策---------
通常の状況では、出力が終了した後、ファイル全体をエクスポートします
通常は ceho と print が使用されますが、単に readfile
を使用するものもあります このようにして、php はユーザーがダウンロードを終了したかどうかを判断する機会がなくなります

sprintf
経由でファイルの内容を出力するには、ループ内でより小さなチャンクを使用する必要があります。 springf 関数は、出力された文字数を示す数値を返します。この数値を累積してファイルの長さと比較できます
ダウンロードが完了したかどうかを判断するには
-----解決策----------
基本的には判断する方法はありません。 。 。
------解決策---------
http に基づいてそれを行う方法はありません。たとえば、サーバーはダウンロードして保存するために 2000 バイトを返します。このとき、ブラウザのキャンセル ボタンをクリックするか、ダウンロードを途中でキャンセルすると、これらのアクションはクライアント ブラウザでのみ実行され、ダウンロードが完了します。 not サーバーにステータスが通知されます。
------解決策----------------------
それは違います、ブラウザベースであるべきです クライアントダウンロードと保存の操作はブラウザによって処理されます。
独自のクライアントを作成する場合、判断は簡単です。返されるバイト数を計算し、ファイルに保存されるバイト数を数えて、それらを 1 つずつ比較するだけです。
------解決策---------
IE では ActiveX が使用でき、FireFox は使用できます。 NPAPI
-----解決策---------
一般的に、ファイルのダウンロードが完了した場合は、コントロールを介して実装する必要があります。普通のJSでは判断できません。
------解決策---------

引用:
これはコントロールを使用して行う必要があります。
デフォルトのインターフェース

一括ダウンロード

ダウンロード中...

ダウンロード完了

強い、これはいいですね。最近、弊社でも OA プロジェクトに取り組んでおり、ファイルのダウンロードが完了したときのイベントを決定する必要があります。このような HTTP ファイルのダウンロード制御が必要です。アドレスを送信できますか。ありがとう。
------解決策---------
引用:
引用:

これはコントロールを使用して行う必要があります。
デフォルトのインターフェース

一括ダウンロード

ダウンロード中...

ダウンロード完了

強い、これはいいですね。最近、弊社でも OA プロジェクトに取り組んでおり、ファイルのダウンロードが完了したときのイベントを決定する必要があります。アドレスを送信できますか。ありがとう。

これはXproer.HttpDownloaderのようです。オンラインで直接検索できます。
------解決策---------
引用:
rt、ファイルがクライアントによって正常にダウンロードされたことを確認するにはどうすればよいですか?

PHP ページからダウンロードした場合は、PHP ページで直接確認できます。クライアント側で判定したい場合はプラグインを使用して実現する必要があります。
------解決策---------
引用:
引用:

引用:

これはコントロールを使用して行う必要があります。
デフォルトのインターフェース

一括ダウンロード

ダウンロード中...

ダウンロード完了

強い、これはいいですね。最近、弊社でも OA プロジェクトに取り組んでおり、ファイルのダウンロードが完了したときのイベントを決定する必要があります。このような HTTP ファイルのダウンロード制御が必要です。アドレスを送信できますか。ありがとう。

これはXproer.HttpDownloaderのようです。オンラインで直接検索できます。

私たちが政府向けに行った文書管理プロジェクトでも、このコントロールが使用されました。気持ちいいですね。統合も簡単です。
------解決策---------
引用:
それは間違いです。ブラウザベースのクライアントでは、ダウンロードと保存の操作がブラウザによって処理されます。
独自のクライアントを作成する場合、判断は簡単です。返されるバイト数を計算し、ファイルに保存されるバイト数を数えて、それらを 1 つずつ比較するだけです。
本当ですか?それを信じるためにコードを見せる必要がありますか?
------解決策---------
send_file 関数がオンラインで見つかり、書かれています。これは良くありませんただし、データが失われることはありません
これに基づいて、コードにコメントがあります
send_file('03.bmp',1);//テストの便宜上、ブロック サイズを小さくしました <br>
<br>
関数 send_file($file, $speed = 100) { <br>
<br>    //まず、ファイルが存在するかどうかを確認します<br>
    if (!is_file($file)) { <br>
         die("<b>404 ファイルが見つかりません!</b>"); <br>
     } <br>
    //ファイルに関する関連情報を収集します<br>
    $filename = ベース名($file); <br>
    $file_extension = strto lower(substr(strrchr($filename,"."),1)); <br>
    // これにより、Content-Type がファイルに適切な設定に設定されます <div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート