スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

jQueryで取得したXMLの文字列化

AJAXでXMLを取得後、弄ったりしたあとにそのXMLをサーバーに送信するときなどに XMLをテキスト化する方法
var xml_url = "http://***/test.xml";
    $.ajax({
    url: xml_url,

    dataType:"xml",
    success:function(xmldata){
	    	var sendurl = "http://***/hoge.php";
			$.ajax({
				url:	sendurl,
				type:	"POST",
				data:	{xmldata:$(xmldata).xml()},
				
				success:	function(data, status) {
				},
				error:	function(data, textStatus, errorThrown) {
				}
			});
		},
		error:	function(data, textStatus, errorThrown) {
		}
		
	});

続きを読む

PHPでbasename()を日本語ファイル名に使うとバグがある

前回に引き続きPHPのバグ第2弾。
PHPにはファイルパス文字列からファイル名を抽出してくれる
basename()という関数が用意されているのですが
Linuxサーバ上で動かすとファイル名の頭が日本語のときに
文字化けするというバグがあるのです。

参考 PHP、Linux環境でbasenameやpathinfoでの全角(日本語等)ファイル名の正しく取得が出来ない

こちらのバグはPHP6で修正される予定みたいです。
例によって原始的に解決するのが手っ取り早いようで

$filename = end(split('/', $filepath));

とすればとりあえず日本語ファイル名を抜くことができます。

PHPでfgetcsvを使うとバグがある

表題のとおりPHPのfgetcsv()にはPHP5からバグがあるのです

詳しくはこちら
PHP5でfgetcsvが正常に動作しない

現象としてはfgetcsvした要素の1文字目が文字化けするという形。
csvファイルを扱うときにこんなfgetcsvなんてそれっぽい関数があったら
“PHPまじ便利!”とか感動しそうというか自分も軽く感動した口ですが
その感動をものの見事に裏切ってくれるバグです。
とりあえず普通に正規表現で切るのがベターなようで
上記の記事でfgetcsvと同じように使える素晴らしいサンプルコードを
用意してくれているので困ったときはぜひこちらを活用させていただきましょう。

PHPで文字のインクリメントをしたいときの対処法

文字をインクリメント(A→B→C…)としたいとき、Cなんかだと'A'++で'B'になるんだけど
char型のないPHPでどうやるのかなと。
とりあえず文字をASCIIに変換する関数とその逆関数があったのでこれを使うことにしてみる。

$ascii = ord('A');
$ascii++;
$B = chr($ascii);

もっとスマートな方法があればぜひ知りたいけどとりあえずこれで。

PHPでExcelファイルを扱うときの対処法

PHPでExcelファイルを扱うことなどほとんどないと思うけど
たまにそういうことがあるとけっこうフォーマットが複雑で面倒。
そんなときのためにPHPExcelというライブラリを使うといいみたい。
比較的直感的にかけて
$objPHPExcel->getActiveSheet()->setCellValue(...)
という感じでセルに書きこんでいける。

詳しくはこちらを参考
PHPでExcel2007のファイルを扱えるクラスライブラリ「PHPExcel」

ただ、けっこうファイル数が多く、メモリも食うので注意が必要。
プロフィール

maruware

twitter ID : maruware
WEBエンジニア

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。