2008/1/18 金曜日

phpでCSVを扱うときのTIPS

Filed under: php — admin @ 0:47:16

phpはcsvファイルを読み込むfgetcsvという専用の関数があるのだが、実装が結構適当なのでMS ExcelなCSVを読み込むとおかしくなることがしばしばある。

php/Tips/csv - EthnaWiki

No Tags

2008/1/17 木曜日

絵文字データベースと相互変換マッピングデータベースのJSONファイルを公開します。 : アシアルブログ

Filed under: 携帯, php — admin @ 11:36:25

絵文字データベースと相互変換マッピングデータベースのJSONファイルを公開します。 : アシアルブログ

No Tags

2008/1/12 土曜日

PHPでJSONを使う場合のまとめ

Filed under: JSON, Ajax, JavaScript, php — admin @ 14:03:45

手軽に使いたい場合はPHPに標準に組み込まれているJSON関数
json_encodeを使う

(※尚、json_decodeのオプションでtrueにしないと配列で返って来ないので注意。)
ウノウラボ Unoh Labs: PHPでJSONを扱う

あと、事前に配列全体をUTF8に変換しておく必要があるのでそこらへんも注意!!

配列全体をUTF-8に変換

ちなみに、だいたいの実装で多次元連想配列はうまく変換してくれないので

str_replace(array('\"','"','"'),array('"','','\"'),json_encode(convert_utf($lines)))

みたいにして補正して使う。
やってることは勝手についてくる”(ダブルクォート)が多次元配列時にすべての配列にかかってしまうのでその余計な”(ダブルクォート)をstr_replaceで除去している。で、ただ、str_replaceすると、配列の値にエスケープされたダブルクォートまで変換されてしまうので、『\”』→『"』,『”』→『』,『"』→『\”』の順番でエスケープされた”(ダブルクォート)まで変換されないようにしている。

No Tags

2008/1/4 金曜日

PHPのpathinfo、basename関数で日本語ファイル名がうまく取得できない。

Filed under: php — admin @ 0:32:16

まさかbasename関数の方にバグがあったとは思わなかった。
というのは嘘だけど。
phpはその系のバグが結構あるので、バグを疑ってぐぐる日常。

そしてあった。
作業日報 | 【PHP】pathinfo、basename関数の日本語ファイル名取得問題
どうやら、ファイル名の最初がマルチバイト文字だといかんようだ。

このページには、PHPをバージョンアップする以外に解決方法が書いてなかったので、

  $img_name = basename($uri,".".$ext); //PHP 5.2.2以前はPHPのバグで動かない

  $img_name = current(mb_split(".",end(mb_split("/",$uri))));

こんな感じに解決してみました。

簡単に解説すると、マルチバイト対応のsplit mb_splitを使って/で配列に分解し、その配列の最後の値(ファイル名)を取ってきて、
さらにこれを.で分割して、拡張子を分離、currentでファイル名だけ取って来るって寸法。

ちなみにmb系は、文字列が長くなるとapacheが落ちるという別のバグがあるので、代替には注意されたし。

No Tags

2008/1/2 水曜日

PHPで高速に携帯ゲートウェイのIPから携帯キャリアを判別する

Filed under: 携帯, php — admin @ 16:24:39

16進数化してビット演算子やら使えばもっと高速に処理できるような気もしなくもないが、手を出してる余裕がない!!

PHPで高速に携帯ゲートウェイのIPから携帯キャリアを判別する

No Tags

2007/12/19 水曜日

PHPでPNG画像の透過部分を保持したままリサイズするサンプル:phpspot開発日誌

Filed under: GD, 画像変換, php — admin @ 15:03:22

PHPでPNG画像の透過部分を保持したままリサイズするサンプル:phpspot開発日誌

No Tags

2007/12/17 月曜日

PHP: debug_print_backtrace - Manual

Filed under: php — admin @ 10:41:50

PHP: debug_print_backtrace - Manual

No Tags

2007/11/26 月曜日

PHPのインストール - PIETRO TECHNIK GESCHICHTE

Filed under: php — admin @ 18:52:11

PHPのコンフィグ解説

PHPのインストール - PIETRO TECHNIK GESCHICHTE

No Tags

さくらインターネット(レンタルサーバ)でPHP5

Filed under: sakura, php — admin @ 18:46:27

さくらインターネットにPHP5をインストールする
さくらインターネット(レンタルサーバ)でPHP5を!

No Tags

PHP をユーザー権限で実行

Filed under: apache, php — admin @ 18:44:09

これはなかなか難しいんだよね。
さくらインターネットなんかでは、mod_actions使うと

#/usr/local/bin/php

を書かなくていいし、お手軽です。
apache2でユーザーの実行権限を分ける方法は、結局安定したのだろうか?
ロリポップとかは、DSO版なので、

#/usr/local/bin/php

を書かなくていいけど、権限が一緒なので
実は他人のソースとかが見放題だったりして、かなりデンジャラス。

No Tags
« 前のページ次のページ »