[PHP-users 23627] Re: アップロードするファイルサイズについて

satoshi @ try-square.co.jp satoshi @ try-square.co.jp
2004年 11月 15日 (月) 14:19:04 JST


藤本と申します。

"Kuma" <satoru_kumagai @ mjs.co.jp>さん:
> この方法をうまく利用できると,「ただいま○○バイト処理中」
> などの表示をできるかもしれませんね!?

それ私もやりたかったんですが、挫折しました。

PHPスクリプトが起動するのは、アップロードが完了された後です。
(と、理解しています。間違ってたらすいません)
従ってアップロード中の挙動をPHPで制御することはできません。

#アップロード後に長い処理が必要な場合の「○○バイト処理中」
#ではなく「アップロード中」というのを含む意図ですよね?
#ユーザから見ればアップロード中でも処理中でも、待たされることには
#変わりないのですから。一般的にアップロードに比べて処理は短時間
#でしょうから、気にすべきはアップロード時間ですね。

奇策として思い付いたのは、アップロード中にサーバ側の一時ファイルを
別のPHPスクリプトでつかまえて制御してやる方法です。
(例えば/tmp/以下の変化を常に監視する。PHPアップロードはここを利用
しているようです。これは$_FILES['tmpname']から分かります)
これをクライアント側のJavaScript等で呼び出して、アップロード中の
待ち時間に柔軟な表示を行うこともできます。
ところが、セッション情報との紐付けを取得する方法が分からなかった
ため、この方法はそれ以上進めなかった覚えがあります。
要するに、同時に他人がアップロードしているファイルとの、区別が
つかないのです。
アップロード先のスクリプトは、先ほど書いたようにアップロード完了
するまで呼び出されません。

便乗質問ですいませんが、アップロード中のサーバ側一時ファイルを、
ユーザ側情報との紐付け付きで取得する、何かいい方法がありましたら
教えてください。


----
藤本 悟司

株式会社トライスクエア
〒104-0045 東京都中央区築地3-5-13北村ビル5F
TEL: 03-5148-3345 / FAX: 03-5148-3346
Mobile: 070-6668-4644
E-Mail: satoshi @ try-square.co.jp
WEB: http://www.try-square.co.jp/

Key fingerprint = 95F2 6B3D 0B8C 374A 5E67  CA02 F28F 703A C1A9 8346



PHP-users メーリングリストの案内