2012/09/24

iPhoneアプリからPOSTしたデータの確認

iPhoneアプリからサーバへ画像をPOSTする機能を実装しているとき、サーバサイド(今回はPHP)の出力(printやechoなんか)がXCode側で見られなかったので(俺がやり方をしらないだけ?)、サーバ側のテストプログラムでファイルを出力して確認してた。

一応インターフェースは決まっているが、名前ぐらいなので、POSTができない場合に問題を切り分ける必要があった。
つまり、アプリからはちゃんと送れてるぞという主張の根拠を提示したかったわけだw

ネットでvar_dump()をファイル出力する方法を見つけたので、$_REQUESTと$_FILESの情報をそのままvar_dump()してファイルに書き出してみた。拡張子が.htmlなのは、var_dump()して出力される内容がhtmlだったから。ブラウザからも確認しやすくてスゲー便利。var_dump()サイコー!

<?php

/**
 ■POSTサンプル
 
*/ if (isset($_FILES['file_data']['tmp_name'])) { // リクエスト情報 $filename = '_REQUEST.html'; ob_start(); echo "var:\n"; var_dump($_REQUEST); $out = ob_get_contents(); ob_end_clean(); file_put_contents($filename, $out); // ファイル情報 $filename = '_FILES.html'; ob_start(); echo "var:\n"; var_dump($_FILES); $out = ob_get_contents(); ob_end_clean(); file_put_contents($filename, $out); // ファイルを移動 copy($_FILES['file_data']['tmp_name'], getcwd( )."/".$_FILES['file_data']['name']); }
※うーむ。SyntaxHighlighterがおかしいなぁ。コードの後に謎の空行がたくさん…