【PHP】くだらねぇ質問はここに書き込みやがれpart4

このエントリーをはてなブックマークに追加
82nobodyさん
すいません、教えてください。
現在PHPにPOSTでバイナリ画像データを投げています。
ところが、$ret = $_POST['ret'];
にした時にすでに、$retはデータに\0があった場合に切り詰められてしまいます。

これを回避してバイナリ画像データを
画像ファイル形式で保存するにはどうしたらいいでしょうか?
83nobodyさん:05/03/17 12:31:45 ID:JSWrWrWk
ddd
84nobodyさん:05/03/17 12:32:27 ID:???
>>83
ごめんなさい。
変なものも打ってしまいました。
85nobodyさん:05/03/17 12:54:39 ID:???
>>82
POSTでバイナリを投げる?
フォームからファイルアップロード?
だったら、普通にmultipart/form-data使えば?

それより、IDに感動した。
86nobodyさん:05/03/17 13:12:57 ID:???
>>85
フォームからではなくて、Iアプリから投げています。
Iアプリからはきちっと投げれているんですが、
PHP側で$ret=$_POST['ret'];
と、やろうものならもう文字がめちゃめちゃになっています。

なんとか回避できないでしょうか?
$HTTP_POST_FILESというのを試したのですが、うまくいきませんでした。
(FORMからファイルのアップはできました)
87nobodyさん:05/03/17 13:19:19 ID:???
文字がめちゃめちゃって?
88nobodyさん:05/03/17 13:20:29 ID:???
>>86
そのi-アプリはcontent-typeヘッダを出力してるのか
89nobodyさん:05/03/17 13:24:46 ID:???
お絵描きJavaアプレットから画像データを受け取るときは$HTTP_RAW_POST_DATAを使ったけどね
90nobodyさん:05/03/17 13:25:08 ID:JSWrWrWk
レス恐れ入ります。

ヘッダはこんな感じで出力してます。
con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
試しにmultipart/form-dataにしてみたんですが駄目でした。
ちなみに、ret='画像バイナリデータ'という感じでPOSTで渡しております。

文字が認識できないというのは、バイナリデータに\0が在った場合切り詰められてしまうことです。
$ret=$_POST['ret']; ←この時点で取得するときには勝手に切り詰めてくれます(涙