php

preg_matchが文字数によってマッチしたりしなかったりする(Last RSS)

php

Last RSSを使ってRSSを取得する際に正常に取得できない(0件になってしまう)現象があったので追いかけていったところ気がついた問題 概要 PHPの正規表現で最小マッチをある程度以上の長さの文字列に使用した場合、マッチング自体が失敗する ※ 正確に言うと文…

CakePHPでCSSを呼び出すときに印刷用などのMediaタイプを指定する方法

オプションは第3引数 $html->css( array('/css/filename'), 'stylesheet', array('media' => 'print') ); Set media=print Using The CakePHP CSS HtmlHelper | michaelkrol.com

CakePHPで言語ファイルを作成する

php

何回やっても忘れるので、覚書程度に 4.8.1 アプリケーションを地域化する 前準備 前準備として、言語ごとに切り替えたい文言を「("文言")」のように括っておく。 単純にそのまま呼び出すと値を出力しようとするので、変数などに入れる場合は「("文言", true…

trimで取れない半角空白文字(C2A0)がある

php

文字列として表示させてみると半角空白のようだけど、trimを使っても消えないものがあったので調べてみた パッと見分からないので、取り敢えず文字列を文字コードに変換してみると件の半角空白文字は「0xc20xa0」。 通常の半角空白文字は「0x20」のはずなの…

GraphvizをインストールしてPHPから使う

Graphviz チュートリアル Blog: Graphviz Pluginのインストール – Neo Titans Graphvizのインストール $ wget http://www.graphviz.org/graphviz-rhel.repo $ mv graphviz-rhel.repo /etc/yum.repos.d/ $ chown root:root /etc/yum.repos.d/graphviz-rhel.re…

Mecabで取り扱う名詞と接尾語を連結させる

parseToNode($str); $node; $node = $node->getNext()) { if (($last_posid == 46 || $last_posid == 47) && ($node->posid == 46 || $node->posid == 47)) { // 前後が地名同士ならば連結させる $tokens[count($tokens) - 1]["surface"] .= $node->getSurf…

phpでCSVを読み込むらしいライブラリ

古いディレクトリを漁っていると出てきたので一応サルベージ もはや、いつどうして作ったのか不明なので、動作確認すらせずに公開だけしておくことにする handle = $handle; $this->length = $len…

imagecreatefromjpegでの画像リサイズ時にエラーが出力される

php

この問題、ちゃんと解決はしてないけどこのままだと放置しそうなので一応公開しておくことにする PHPで画像リサイズを行なっていた際に、以下のようなエラーが出力される Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg, libjpeg:…

APIを使ってPHPで自分のみ公開のアルバムを生成する

以下を参考に、必要そうな部分のみ。 Create photo albums and upload photos using the Facebook Graph API 基本的には、アルバム生成時に与えるパラメータにprivacy項目を追加して公開権限を設定する $album_details = array( 'message' => 'Album desc', …

画像のデータ容量を減らす

php

画像の縦横を変えずに、クオリティのみを減らす $quality = 75; // 75がデフォルト $img = ImageCreateFromJpeg($path); ImageJpeg($img, null, $quality); ※ 必要であればループを回し、必要であればファイルに書き落とす サンプルほぼそのまま。PHP: image…

画像からIPTC情報を取得する

php

GoogleのPicasaなどで入力したコメントやタグをPHPで取得する。

RSSヘルパーでRSSを生成する際にNameSpaceを追加する

通常通りRSSヘルパーでRSSを生成する際に名前空間を指定する RSS用のLayoutを修正する $ cat /app/views/layout/rss/default.ctp header(); if (!isset($channel)) { $channel = array(); } if (!isset($channel['title'])) { $channel['title'] = $title_fo…

LastRSS.phpを使った際にcontent

php

http://lastrss.oslab.net/ 現在配布されているバージョンでは、RSSに含まれるcontent:encodedを拾ってこれないので対応した 修正箇所 修正前 var $channeltags = array ('title', 'link', 'description', 'language', 'copyright', 'managingEditor', 'webM…

mysqlで「server has gone away」というエラーが返ってくる

おそらく、Mysqlのセッションがタイムアウトしてしまっていると思われる。確かに若干sleepを長くしすぎていたかも とりあえず、セッションの有効時間を調べてみる SHOW VARIABLES LIKE 'wait_timeout' 英語ですが、下記のページがまとまっていると思います。…

PHPを使ってカスタムマップ用に画像を自動生成する

Google Maps APIが提供するカスタム マップ タイプで使用するタイル画像をPHPで動的に生成することを考える ・カスタム マップ タイプ ・グーグルマップのしくみを探る » GAMMA Blog やりたいこと 「世界測地系の緯度経度」を元に、カスタムマップで使用する…

Googleの画像検索をAPI経由で使う

以下を参考に ・43.Google画像検索API。クエリを作って欲しい情報をゲット ・画像(imgae)を検索する方法とcurl関数群について うずら技術メモ ・JSON Developer's Guide - Google Image Search API - Google Code 基本的には、URLを構築してCURL経由でGETメ…

PEARのライブラリを呼ぶとエラーになる件について

php

PEAR/Exception.phpを継承しているクラスでPEARが呼べないというエラー Warning: require_once(PEAR/Exception.php) [function.require-once]: failed to open stream: No such file or directory in HTTP/Request2/Exception.php on line 47 3Fatal error: …

PHPからHyperEstraierを使ってみる

公式では、Ruby、Java、Perlのバインディングモジュールが提供されているがPHPはない。 調べてみると、「estraierpurh.php」というモジュールを作成公開してくれている人がいるらしいのだけど、その人のサイトがなくなっている。 http://page2.xrea.jp/ で、…

バイナリデータと文字列の相互変換

php

なんとなく機会がありそうで無い感じ。あまり意味は無い ※ 当たり前だが、純粋なバイナリファイルを16進文字列に変換するとデータ量は増える

phpの中からPerlのプログラムを記述して実行する

いったいなぜこう言うことになったのか、色々と混ぜるな危険な感じですがとりあえず。 まだ、簡単なプログラムでしか試してないので色々とエスケープとか足りてない気がするし、ステータスコードをみて強制終了するのではなくちゃんと結果を返したほうがいい…

pingserverのサンプルスクリプトをおいてみた

php

http://nakahara21.com/index.php?itemid=647

協調フィルタリングを行うライブラリVogoo PHP LIBを使ってみた

php

本家は、Vogoo PHP LIB 以下のページを参考に ・BUKURO-JIN | レコメンド機能を実装する ~Vogoo! PHP Lib~ ・ウノウラボ by Zynga Japan: オススメ機能には Vogoo がオススメ ・PHPから使えるレコメンデーションエンジン「Vogoo」 - Sometime PHP Vogoo自…

PHPでベイジアンフィルタを使ってみる

主にここを参考に http://castor.s26.xrea.com/blog/2008/02/18 ライブラリはここ http://www.xhtml.net/php/PHPNaiveBayesianFilter http://www.xhtml.net/documents/scripts/phpnaivebayesian-1.0.zip 上記のページを参考にして_getToken()をオーバーライ…

phpからmecabを使うための拡張をインストールする

http://d.hatena.nh.jp/Kmusiclife/20101020/1287512977 http://d.hatena.nh.jp/rsky/20071228/1198841049 $ wget http://www.opendogs.org/pub/php_mecab-0.3.0.tgz $ tar zxvf php_mecab-0.3.0.tgz configureに必要なパスを取得しておく $ whereis php-con…

Shift-JISで出力したFormからPOSTで受け取った値が正常に取得できない

php

Formに enctype="multipart/form-data" が指定されていると文字コード変換が動作しない様子 http://kona.tonakaj.org/php.multibyth.html> しかし、文字エンコーディングの設定は合っていて、スクリプトエンコーディングも内部エンコーディングも出力エンコ…

HTTPのPOSTでファイルをアップロードする

php

PEARのライブラリを使うほうが楽 PEARのHTTP::Request2 http://pear.php.net/package/HTTP_Request2/ http://pear.php.net/manual/en/packagh.http.http-request2.php |php| setMethod(HTTP_Request2::METHOD_POST) ->addPostParameter('username',…

definedを使って定数が定義されているかどうか調べても常にTrueが返ってくる

php

definedに与える定数名は、引用符で囲む必要がある http://jp.php.net/manual/ja/function.defined.php> 引用符の使い方に注意してください。これは重要です。この例では文字列 'TEST' が、定数 TEST の名前かどうかを調べています。 <<

未定義かもしれない変数を空文字列にエスケープする

環境によって、未定義の変数を使用した際にnoticeが発生するのが面倒くさい。 一々ifで判定するのも面倒くさい。未定義だったら空文字列扱いして欲しい時にhtmlspecialcharsを使用する htmlspecialchars http://php.net/manual/ja/function.htmlspecialchar…

PEAR, XML

簡単な例 |php| " ", "linebreak" => "\n", "typeHints" => false, "addDecl" => true, "encoding" => "UTF-8", "rootName" => "feed", XML_SERIALIZER_OPTION_ROOT_ATTRIBS => array('xmlns' => 'http://www.w3.org/2005/Atom'), //"defaultTagName…

RSSを生成する

CakePHPでお手軽にやりたいなら1が良いのではないかと PEAR、XML::SerializerはRSSをベースに色々追加する必要がある時などに CakePHPで実装する 普通にActionを経由して取得した情報をRSSに変換できる ※ 要は自動的にヘルパーを読んでテンプレートを切り替…