ホームページ > バックエンド開発 > PHPチュートリアル > ユーザーがアップロードを開始したかどうかをphpは検出できますか

ユーザーがアップロードを開始したかどうかをphpは検出できますか

WBOY
リリース: 2016-06-13 12:54:07
オリジナル
933 人が閲覧しました

php はユーザーがダウンロードを開始したかどうかを検出できますか?
ユーザーがダウンロードを完了したかどうかを検出する必要があるため、次のコードがあります

<br />
...<br />
ignore_user_abort(true);<br />
if ($fd = fopen($filePath, 'rb')) {<br />
	session_write_close();<br />
	if ($start_offset > 0)<br />
            fseek($fd, $start_offset);<br />
	while (!feof($fd)) {<br />
	     print (fread($fd, 16384));<br />
	}<br />
<br />
	fclose($fd);<br />
}<br />
if (connection_aborted()){<br />
 ...<br />
}<br />
else {<br />
 ...<br />
}<br />
...
ログイン後にコピー


ここで問題が発生します。ファイルが小さい場合は、[ストレージ ディレクトリの選択] ダイアログ ボックスが表示され、サーバーがすべてのファイルを送信した後、[キャンセル] をクリックします。ファイルなので、 if (connection_aborted()) が false
の場合 例えば、最初の印刷後、ユーザーがダウンロードを開始していないことが判明した場合、印刷を一時停止するか、バッファリングなどを禁止する方法はあるのかをお聞きしたいです。ユーザーが受け入れない場合、つまり印刷物が返せない場合、印刷物はブロックされるということですか?

説明がわかりやすいかわかりません。


-----解決策--------------------------------
PHP にはそれを知る方法がありません。
------解決策---------
PHP サーバー スクリプト、つまりブラウザーの動作は次のとおりです。以上、PHP は無力でした。
------解決策----------------------
Put if (connection_aborted()){.. .ループに 1 つ入れます
------解決策---------
サーバーはヘッダーを送信します。次はファイルデータです
ブラウザはヘッダーを受信すると、すぐに後続のデータを受信します。ブラウザがヘッダーを解析しているときにダウンロードはすでに開始されていますが、キャッシュにダウンロードされるだけです。
------解決策---------
引用:
Python は大丈夫です

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