本サイト/記事は移転しました。

約10秒後にリダイレクトします。

php

phpにコマンドラインからスペース入りのファイル名を渡す場合はパイプで

thunarのアクションなどでphpスクリプトにファイル名を渡す際に、$argvを使っていたけど ファイル名にスペースが含まれている場合のことを考えて、impludeで連結する処理を入れて置かなければならない。 処理によってはスペースを「\ 」に置換したりする必要…

404ページ追加

コンテンツを二重に持っているとスパムサイト扱いされることもあるとのことなので、そのうち古いサーバのデータは削除の方向。その時に向けて、エラーページを作ってみた。以下のファイルを作り、/404.phpとして.htaccessでErrorDocumentに指定。 ファイルが…

TwitterOAuthで自分の最新tweetの時刻を取得

トップページの更新情報にTwitterも追加すべく研究。 get("statuses/user_timeline",array("count" => "1")); /…

session_registerの代替

PHP

じてんしゃにっきが表示されなくなっていた。エラーログを見たらセッション書き込みディレクトリのパーミッションがあかんということで修正。 さらに [08-Sep-2014 21:15:44 Asia/Tokyo] PHP Fatal error: Call to undefined function session_register() in…

Fatal error: Call to undefined method PEAR_Error::load()

クリーンインストール後はじめてサムネイルを作るスクリプトを走らせたら「Fatal error: Call to undefined method PEAR_Error::load()」というエラーが出る。調べたらpearのImageTranscoder関連での事例がいくつか見られたが、根本的な解決策が書いていない…

はてなフォトライフにアップロードできない

php

PCのクリーンインストール後、スクリプトを使って、thunarの右クリックメニューから画像をはてなフォトライフにアップロードする仕組みが動かなくなった。ログを見ると認証エラー。pearのバージョン違いかと思ったが手がかりはなし。 それではと、ひとさまの…

時刻フォーマットの柔軟性

PHP

GPSBABELを使ったeTrexログの日ごと切り出し、未検証だったタイムゾーン、やはり対応できていなかった。 eTrex30のログファイルをeTrex Vista形式に - Tech Side of 泥やまだ 対応するためにはGPSBabelに渡す日時指定をGMTにしてやらなければならない。一方…

eTrex30のログファイルをeTrex Vista形式に

eTrex Vistaでは日付8桁形式のファイル名で日毎にファイルが作成されていた。たとえば20130105.gpxとか。eTrex30ではCurrent.gpx一つに追記していく形式のようで、そのままでは整理が面倒。 ということで、phpとgpsbabelで日毎に切り出すようにしてみた。 <time>(.</time>…

RSS情報取得スクリプト修正

PHP

XML_Feed_Parserあきらめたの続き。 一部のブログではチャネル情報の日付にブログの作成日が入っている。ブログサービス会社にツッコミいれようと思ったが、調べてみるとここは必ずしも最新の更新日付を入れなくてもいいようだ。ということで、修正。 '); if…

XML_Feed_Parserあきらめた

PHP

PEAR::XML_Feed_Parserのエラー停止は、減ってはいるものの、それでもけっこうな頻度がある。あきらめて、file_get_contentsしたものをpreg_matchで取り出すようにしてみた。 ([^<]+)<\/updated>/',$feed_text,$temp)) $date_xml = $temp[1]; if(preg_match(…

XML_Feed_Parserのエラー

PHP

XML_Feed_Parserの不思議はおいておいて、実装をすすめる。そのなかで困ったことが。フィードを読み込むときにエラーが出るとスクリプト全体が終わってしまう。いろいろ調べたが、 setErrorHandling(PEAR_ERROR_PRINT, "PEAR error\n"); で停止しなくなった…

XML_Feed_Parserの不思議

PHP

PEAR::XML_Feed_Parserを使っていて不思議な点が。 date; echo "\n"; echo "updated: ". $rss->updated; echo "\n"; ?> で、出力は date: 1330611161 updated: 133…

はてなブログはatomだけを吐く

PHP

自転車関連をはてなブログに移行させたけど、吐き出すのはatomだけで、RSSは吐かない。mixiへの自動ダイジェスト書き込みが動かせない。 対応は後日として、対策としては今使っているPEAR XML_RSSではなくPEAR XML_Feed_Parserを使えばRSSもatomもパースでき…

はてなフォトライフからフォト蔵に乗り換え

PHP

ケータイからの一斉投稿の際の写真のアップロード先をはてなフォトライフからフォト蔵に変更。アップロード部分はほとんどウノウラボ by Zynga Japan: フォト蔵API(β版)へPHPでアクセスと同じなので省略。 フォト蔵に乗り換えた理由は APIで動画のアップロー…

PEARのインストールとかができなくなった

PHP

忘れてしまいがちなのでメモ。 依存関係のあるパッケージを順番にインストールしたのに「インストールされてへんで」と怒られてしまう。update-channelsとかchannel-updateとかやると「ファイルのロックに失敗したがな。パーミッションがちゃうがな」と怒ら…

メールでtwitterに投稿する

facebook同様、jphphmailerをインクルード。 AddAddress($twitter_post_address); $mail->AddAddress("kazz.yamada@nifty.com"); $mail->From = $keitaiaddress; $mail->FromName = $keitaiaddress; $mail->Subje…

メールでfacebookに投稿する

以下のページのjphpmailer.phpをインクルードして利用。 PHPで日本語メールを送る – 応用編 (添付ファイル、HTMLメール) - EC studio 技術ブログ mimetypeをちゃんと指定しないとfacebookは認識してくれない。ディバグ用に同報送信しているthunderbirdではデ…

PEAR::Services_Hatena_Fotolife

PHP

APIではてなフォトライフに動画を投稿できない件、PEAR::Services_Hatena_Fotolifeを使ったらいけるかなと思ってインストールしてみた。画像ファイルは問題なくアップロードできた。 hatena_login($user, $pass); $hatena->…

5.3.3にバージョンアップ

PHP

finfo_file()を使ってmime判別をしたかったのでphpを5.2.14から5.3.3に上げてみた。 php.iniをいじって起動すると「php_mbstring.dllが見つからへん」と出てくる。extension=php_mbstring.dllをコメントアウトしても出てくる。いろいろと調べてみるとどうや…

zlib.dllがありません

PHP

phpを5.2.13から5.2.14にあげたら「zlib.dllが見つかりません」と怒られるようになった。apacheも起動しない。 ZLIB DLL Home Pageからpre-builtを落としてきて、dll32ディレクトリに中にあるzlibwapi.dllをphpディレクトリにコピーしてzlib.dllにリネームし…

ワンライナーの不思議の検証

php

ubuntuのターミナルで実行しててみたら世間の常識通りに動作した。 bash for windowsではコマンドプロンプトと同様だった。これはcmd.exe経由でphpにコマンドラインを渡しているせいではないかと推測。

ワンライナーの不思議

PHP

phpのmailコマンドを使って、おうちサーバ起動時におうちサーバのメールアカウントに「起動したよ」とメールを送るようにしてみた。単純なのでワンライナーで十分だろうと思ってやってみた。 php -r 'mail("nanchara@kazz.mine.nu","boot","");" unexpected …

自宅サーバのプログラム書き換えた

PHP

おうちサーバで「あるメールアドレスにメールを送るとはてなハイクとmixiに書き込む」というのをやっているけど、そのプログラムのはてなダイアリー書きこみ部分を変更。今まではcurlを使ってごりごり書き込んでいたけど、はてなダイアリーAtomPubを使って少…

pc2mアップデート

PHP

久しぶりにpc2mをアップデート。はてなのログイン状態も維持されるようだ。 apacheで自分の携帯電話とローカルネットワークからだけ表示されるようにと個体番号を見るようにした。 <Location "/xxx/pc2m"> SetEnvIf x-up-subno "^0000000000000000000_mc" ok Order deny,allow Deny</location>…

ロリポップサーバのphp5化

PHP

私が管理人を務める某サイトをホスティングしているロリポップサーバのphpが5になったおかげで、この数日500を出してこけていた。php5になったところで動かなくなるようなスクリプトはないと思って何も対策をしていなかった。 こけた理由はドキュメントルー…

結局易きに流れた

PHP

はてなハイクでやりたいことは、結局いちばん簡単な「いちいち読み込む」というパターンに流れた。 if(strpos($html,"/images/icon-replylink.gif") !== FALSE){ echo "This is a comment\n"; continue; } これだけですんだ。

はてなハイクとmixiボイスに投稿する

PHP

おうちサーバの特定のアドレスにメールを送るとその内容を解析してはてなハイクとmixiボイスに投稿する仕掛けがとりあえずできた。mixiボイスにははてなハイクの画像のurl(というか、はてなフォトライフのurl)を貼り付ける。mixiは自動リンクしてくれる。 …

はてなハイクでやりたいこと

PHP

はてなハイクの新しいエントリーをまとめてはてなハイクに書きこみたい。しかし、コメントのエントリーはスキップ。 はてなハイクのrssではコメントかどうかは判別できない。はてなハイクのhtmlをパースすることも考えたが、けっこう判別が面倒。 はてなハイ…

Snoopyではてなにログインする

PHP

curlとかPEAR::HTTP_Request使うよりもお手軽かも。 $account, "password" => $password, "persistent" => "0", ); $snoopy->s…

はてなハイクが返してきたxmlを解析する

PHP

昨日成功したハイクへの画像添付投稿の戻り値のxmlからデータを抜き出す試み。以下のページを参考に。 cl.pocari.org - xml 文章を配列やオブジェクトにしてくれる PEAR::XML_Serializer setOption('parseAttributes',…