Recent Entries
Archives
Search


Links
Powered by
Movable Type 2.64

2004年10月04日

phpとfileupload

HTML上でinputタグ中に type="file" name="uploadfilename" 等書いてファイルアップロード可能なpageを作成するわけですが、複数ファイルをuploadするときはこのname=部分を行ごとに変えるのが通例です。またはphpのように name="uploadfilename[]" などすればuploadfilenameという名前の配列に各種情報を投げ込んでくれる実装もあるにはあります。
ところで、phpで上記のように[] をつけないとどうなるか?それは複数のファイルについての情報が全て同じ uploadfilenameという変数に上書きされて失われてしまうわけですね。で、なんとかならんかな?とソース読みながら検討。
久々にphpのソース読んだら、main/rfc1897.c とかとっくの昔(2001年頃)には POSTデータをメモリ上に一旦展開するというコードはやめてるんですね。気づいてなかった(;´Д`)
参考:php-src/main/rfc1867.c?r=1.77
で、
/*
* This product includes software developed by the Apache Group
* for use in the Apache HTTP server project (http://www.apache.org/).
*
*/
とか入ってますね。apacheのlibapreq使ってるからだとか。

***
この file uploadの件、かなり以前に[PHP-jp 2550] Re: File の Uploadサイズの実用上限についてとして挑戦したんですが、放置したまんまでずっと気になってたわけです。上記1.77以前はuploadされるファイルサイズ分(実際はMIME化された長さ分)メモリを確保して一括でパースする設計だったので、搭載メモリ量でupload可能なファイルサイズ上限が限定されていたわけです。ハイ。ということでヽ(´ー`)ノ供養完了
***
ちなみに、同じ name=の件は、CGI版のphpを使用して、POSTされる生のデータをプリプロセスして強制的にname=個所を書き換えてしまう作戦で実装予定。これならphp側にパッチあてる必要も無いのでメンテナンスコストが大幅に下がります(´ー`)

Posted by minemaz at 2004年10月04日 06:54
トラックバック
このエントリーのトラックバックURL:
http://www.lancard.com/mt/mt-tb.cgi/193

Buy strattera online. from Buy strattera online.
Buy strattera online. [続きを読む]

トラックバック時刻: 2010年04月20日 22:45

Comments

PHPのコードもしばらく書いてない…
WFMのPHP版を書こうと思ってたけど、こっちにきて何もできてない
結婚、出産、etc…忙しすぎる
峰松君のようにごにょごにょする時間が欲しいw

Posted by: kouzzy at 2004年10月05日 09:35

ちなみに峰松君が暇人と言っている訳じゃないっすよ。
わたしには公私共々ごにょごにょできる時間が無くなってしまったと言うことを言いたかったわけ

Posted by: kouzzy at 2004年10月05日 09:50

ごにょごにょしすぎて、フツーに仕事する時間が足らなくなってきております(;´Д`)
オモシロそうなこと沢山あるんですけどね~Linux/Xenとかやりたい所です。あまりにも手をつけられずに苦情が出てる件もいくつか在ったりするので何とかせねば…って感じの今日この頃です。ぬぬ

Posted by: minemaz at 2004年10月05日 09:55
Post a comment









Remember personal info?