APIをキックしてXMLデータを取得する方法。
1.URIを用意。
ここで、URIの中に日本語などのマルチバイト文字が含まれるデータがある場合、
mb_convert_encodingで文字コード変更したのち、urlencodeすること!
$multi_data = mb_convert_encoding($base_data, "UTF8", "EUC-JP");
$encode_data = urlencode($multi_data);
2.URIを実行。
このとき、プロキシを介さない場合は↓でいける。
$xml_obj = simplexml_load_file($api_uri);
プロキシを介す場合、
こんな関数を作って、xmlを受け取る。
$xml = connectWithProxy($api_uri);
function connectWithProxy($url){
$proxy_opts = array(
'http' => array(
'proxy' => 'tcp://<プロキシのURL>:8080',
'request_fulluri' => True,
),
);
$proxy_context=stream_context_create($proxy_opts);
$xml_string=file_get_contents($url,false,$proxy_context);
$xml_obj=simplexml_load_string($xml_string);
return $xml_obj;
}
3.XMLを解析
simplexml_load_stringで読み込むと、->を使ってデータにアクセスできる。
型が決まってないので、(string)などを先頭に置いて、キャストしてあげる。
(array)$xml->DataTag
日本はiPhone全盛期ですが、
開発するにはMacが必要だったりで…
その点、AndroidはWindowsで開発できるとなると、
やっぱこっちから入ってみようかなーと思ってます。
Android入門
せっかく希少な女性エンジニアなので、
ファッションとかコスメ、ネイル系の
女子受けするアプリをたくさん作ってみたいな。
ひととおり、Windows環境にEthnaをインストールして、サイトを立ち上げる方法をメモっときます。
(たぶん、私にしか役立たないかもだけど。。。)
1 XAMPPをインストール
XAMPPはここにあります。
WindowsへXAMMPをインストール
2 環境変数にxamppインストールフォルダを追加
3 C:\Windowsフォルダがアクセス許可設定されていることを確認。
4 pear channel-discover pear.ethna.jp
をコマンドラインから実行
5 pear install ethna/ethna
をコマンドラインから実行
6 pear install DB
をコマンドラインから実行
7 C:\<xamppインストールフォルダ>\php\PEAR\Smarty
に、Smarty/libsフォルダ以下をコピー
8 http.confファイルに以下の点を修正
・DocumentRoot
・ServerName
・<Directory を追加
・LoadModule rewrite_module modules/mod_rewrite.soのコメント解除
9 Apache再起動
10 index.phpのコントロールパスを変更
11 それでも出ない場合は、APP_Controllerでエラー出力をOFFして原因究明
httpd.confの変更後、Apacheを再起動するときに
だいたい権限エラーで落ち込みそうになるので、
そこはマシン再起動するしかないです。
(たぶん、私にしか役立たないかもだけど。。。)
1 XAMPPをインストール
XAMPPはここにあります。
WindowsへXAMMPをインストール
2 環境変数にxamppインストールフォルダを追加
3 C:\Windowsフォルダがアクセス許可設定されていることを確認。
4 pear channel-discover pear.ethna.jp
をコマンドラインから実行
5 pear install ethna/ethna
をコマンドラインから実行
6 pear install DB
をコマンドラインから実行
7 C:\<xamppインストールフォルダ>\php\PEAR\Smarty
に、Smarty/libsフォルダ以下をコピー
8 http.confファイルに以下の点を修正
・DocumentRoot
・ServerName
・<Directory を追加
・LoadModule rewrite_module modules/mod_rewrite.soのコメント解除
9 Apache再起動
10 index.phpのコントロールパスを変更
11 それでも出ない場合は、APP_Controllerでエラー出力をOFFして原因究明
httpd.confの変更後、Apacheを再起動するときに
だいたい権限エラーで落ち込みそうになるので、
そこはマシン再起動するしかないです。