Archive for 4月 2010

 
 

【PHP】ImageMagickをインストールしたけどエラー

前回のエントリーで【PHP】 ImageMagickをPHPから使うときのメモを書いたけど以下のソースが動かなかった。

$file_name ='a.jpg';
$ext = "jpg";
$image = new Imagick($file_name);
header('Content-type: image/'.$ext);
echo $image;
矩形を描画したりとかは出来たけどファイルを読みこんでどうこうができない。 なのでさらに調べることに。 (もともとMikko’s blogはVC6じゃなくてVC9にしろよってかいてあったきがする。) ちなみに動かなかったときのphpinfoは Compiler MSVC9 (Visual C++ 2008) って書いてあった。 結果的には XAMPPのバージョンによってはphpinfoで見たときにCompilerの項目がMSVC6になっているのでMSVC9にすることが必要。

  • 1.PHPを入れなおす(スレッドセーフ版)
  • 2.ImageMagickのバージョンは最新に。
  • 3.php_imagick_ts.dll(スレッドセーフ版)を入れる
  • 4.php.iniからエラーが出る項目をコメントアウトする

という流れになると思います。 一応書きますが、それなりに長い説明になったので区切ります。
Den ganzen Beitrag lesen…

【PHP】CSVから日本語を読み取るときに文字化けした

読み取るcsvはwindowsのexcelで作成。 日本語を含む。 fgetcsvで読み込んだときに一部の感じが文字化けした。(熱血→M血) そんなときはfgetcsvを使わないみたい。

$csv = fgetcsv($csv, 1000);
$csvdata = explode(',', trim(fgets($csv, 1000)));
自分はこれで文字化けが回避した。

引用 文字化け対処方法について

【PHP】ImageMagickをPHPから使うときのメモ

■参考にしたところ http://kyle-in-jp.blogspot.com/2008/04/windowsimagemagickphp.html

■環境 windows xampp/apache PHP Version 5.3.1

1.ImageMagickの入手 ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/ から ImageMagick-6.6.1-4-Q16-windows-dll.exe を手に入れてインストール。 C:\ImageMagick とかが望ましいと思うわけです(空白が入らないようなパスで。Program Filesとかダメ)。 勝手にpathも通してもらうと楽。

2.MSVC++2008 SP1再頒布可能パッケージ(参考にした記事の時点では2005のパッケージですが)を入手 http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=ja そしてインストール

3.Windowsの再起動

4.phpにdllを追加

3.php_imagickのインストール 以下のURLのMikko’s blogからphp_imagick_dyn-Q16.dllをダウンロード。 http://valokuva.org/?page_id=50

php_imagick_dyn- Q16.dllをPHPのextディレクトリにコピー。

って書いてありましたが古い記事なので http://valokuva.org/?page_id=50からhttp://valokuva.org/magick/にいく。 2009-11-18 23:39 – php_imagick_ts.dll (3.0.0-dev)をダウンロードして php.iniにextension=php_imagick_ts.dllってやる

5.apacheの再起動(php.iniいじったから) がしかし。

———————– PHP Startup: imagick: unable to initialize module. Module compiled with module API= 20060613 PHP compiled with module API=20090626 These options need to match. ———————–

といわれたので PHP Startup: imagick: でぐぐると

———————– Thx for Mikko’s work. I have found the dll for php5.3, it work fine. http://www.sk89q.com/2010/03/vc6-windows-binaries-for-imagick-2-3-0/ hope to halp you. ———————–

っていわれたのでいってみて http://www.sk89q.com/2010/03/vc6-windows-binaries-for-imagick-2-3-0/ php_imagick.dll, TSを使う php.iniにextension=php_imagick.dllってやる

6.apacheの再起動(php.iniいじったから)

phpinfo();してimagickがあったら終了。

一応これで自分は出来た。

【twitter】正規表現でアカウント等をaタグに置換する

g @XXXXXXをhttp://twitter.com/XXXXXXに置換したり httpから始まるリンクを置換したり ハッシュタグをリンクに置換したり するものをjavascriptで作っていたときに調べたら Using Regular Expressions to Match Twitter Users and Hashtags にあったのですがここの記述のままだとクオーテーションをエスケープしてなかったりするのでした。 よく動いたなと関心(確認してないんだろうか・・・) なので修正して、オマケでhttpから始まる文字列も置き換えるようにしました。

String.prototype.linkify_tweet = function() {
  var tweet = this.replace(/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&amp;%@!&#45;\/]))?)/,'<a href="$1" target="_blank">$1</a>');
  tweet = tweet.replace(/(^|\s)(@|@)(\w+)/g,'$1<a href="http://www.twitter.com/$3" target="_blank">@$3</a>');
  return tweet.replace(/(^|\s)#(\w+)/g, '$1<a href="http://search.twitter.com/search?q=%23$2" target="_blank">#$2</a>');
};

QRコードのURL生成ブックマークレット

qrcode

Goo.gl 短縮URLからQRコードを簡単に作る方法を見て何かしたくなったのでブックマークレット化する! 最初に作ったのは 見ているページのQRコードを作成するして新規ウィンドウに表示するブックマークレット。 w=250の数字を変えると好きな大きさの物が作れる。twitterに投稿したかったから140文字以内で必要最低限。

javascript:w=250;open("http://chart.apis.google.com/chart?cht=qr&chs="+w+"&chld=H&chl="+encodeURIComponent(location.href));void(0);
本家のchartAPIドキュメントにいろいろ書いてあった。 調べたらいっぱいあるのね。2008年には存在してたよ! しょんぼり。

ということで前に作った【javascript】google url shortenerを使って短縮URLを生成を組み合わせて http://goo.gl/XXXX.qrというURLを生成するブックマークレットもあわせて作ってみました。

javascript:(function(s){s.src="http://gecko.hp2.jp/t/qr.js";document.body.appendChild(s)})(document.createElement('script'));