GoogleとWikipediaを読みやすくするGoogle Chrome 拡張機能を作りました。
白背景って目が疲れますよね。私はいつもブックマークレットを使って、背景を黒くし、リンクは緑にしていました。Chrome 拡張機能の作成練習に、これらのことを実現する拡張機能をつくりました。
まだストアでは公開していないので、以下からダウンロードしてください。
easyReader 1.0.0
https://docs.google.com/leaf?id=0B58uK3aQr15INWVhMjUwZjktNGJiOC00YmQ5LTlmN2ItN2Y0N2YzNDNlMWFk&hl=ja
ダウンロードして、Chromeにドロップしてください。
2012年2月6日月曜日
2011年12月19日月曜日
とあるディレクトリ以下のファイルのURLをすべて取得する 最終夜
とあるディレクトリ以下のファイルのURLをすべて取得する
シリーズ最終夜です。
結果として、scan_image以外は検出した個数に変化は無く、599個配列に収まりました。
何が違うのかというと、ディレクトリもそのまま配列に入っているから,,,なのか?
scan_imageはディレクトリであれば配列に収めないという処理をしていますので、
その違いかと思われます。
実行速度については下記を参照してください。
あるディレクトリ以下のファイルのURLをすべて取得する
第一夜
http://sharzaqslab.blogspot.com/2011/12/url.html
第二夜
http://sharzaqslab.blogspot.com/2011/12/url2.html
第三夜
http://sharzaqslab.blogspot.com/2011/12/url3.html
シリーズ最終夜です。
結果として、scan_image以外は検出した個数に変化は無く、599個配列に収まりました。
何が違うのかというと、ディレクトリもそのまま配列に入っているから,,,なのか?
scan_imageはディレクトリであれば配列に収めないという処理をしていますので、
その違いかと思われます。
実行速度については下記を参照してください。
| スクリプト名 | 実行速度 | 配列カウント |
| get_files | 0.0091230869293213秒 | 599ファイル個数 |
| scan_image | 0.0050339698791504秒 | 500ファイル個数 |
| getFileList($dir_path) | 0.00760817527771秒 | 599ファイル個数 |
| getFileList($dir) | 0.0069351196289062秒 | 599ファイル個数 |
| glob3 | 0.0072281360626221秒 | 599ファイル個数 |
| Linux find . 「-type f」有り | 0.035500049591064秒 | 599ファイル個数 |
| Linux find . 「-type f」無し | 0.035002946853638秒 | 635ファイル個数 |
Linuxコマンド直打ちだけにいっちばん早いんじゃ?!なんて息巻いて実行。
あえなく玉砕。ダントツで遅かったです。
厳密にファイルパスだけ欲しい場合は、scan_imageがいいね!
あるディレクトリ以下のファイルのURLをすべて取得する
第一夜
http://sharzaqslab.blogspot.com/2011/12/url.html
第二夜
http://sharzaqslab.blogspot.com/2011/12/url2.html
第三夜
http://sharzaqslab.blogspot.com/2011/12/url3.html
とあるディレクトリ以下のファイルのURLをすべて取得する 第三夜
(とあるディレクトリ以下のファイルのURLをすべて取得する 2)からの続きです。
PHPには関数としてそのようなものは見つけられませんでした。
いろいろ検索をしていると、皆さんさまざまにアプローチしてらっしゃるのがわかります。
大まかに手法を分けると以下の2通りのようです。
・scandir関数を使う
・opendir関数を使う
scandir関数はPHP5から搭載された便利な関数ですね。
基本的にやってることはどれもほとんど代わりがないです。
実行速度の違いがあるのか幾つかの手法をテストしてみました。
検索対象の内容として、全文検索システム Namazu http://www.namazu.org/index.html.jaの
ファイル群が対象です。
それと自作の関数とか他のテクニックも試してみたので、ご参考までに。
試したのは以下の通りです。
■get_files
PHP でサブディレクトリ内のファイル名をすべて取得 ≪ メモとか
http://wokamoto.wordpress.com/2011/09/22/get-all-files-name/
■scan_image
PHP ディレクトリ以下のファイルを再帰的に取得 - 130単位
http://d.hatena.ne.jp/deeeki/20100602/get_files_recursive
→画像だけでなくすべてのファイルを取得するように変更
■getFileList($dir)
指定したディレクトリ以下のファイルを取得(サブフォルダ内も) - pirokyunの日記
http://d.hatena.ne.jp/pirokyun/20080118/1200631677
■getFileList($dir_path)
ファイル名を再帰的に取得する関数 - handlename::blog
http://d.hatena.ne.jp/handlename/20101006/1286355256
■sharzaqオリジナル
・glob3(http://sharzaqslab.blogspot.com/2011/12/url.html)
・cmd_find(http://sharzaqslab.blogspot.com/2011/12/url2.html)
比較の結果は次の記事で!
とあるディレクトリ以下のファイルのURLをすべて取得する 第二夜
前の記事(あるディレクトリ以下のファイルのURLをすべて取得する 1)の続きです。
sharzaq謹製というにはおこがましいコードをご覧ください。
function cmd_find($file='.'){
$o = shell_exec('find ' . $file . ' -type f');
return $o;
}
こちらは配列では帰ってきません。ただの文字列が固まりで帰ってきます。
echo $oするとこんな感じ。
使い勝手はよろしくないでしょう。この後、\n|\n|\r\n なんかで区切って配列に入れれば何とか。
次の記事では、さらに皆さんのアイデアを比較してみます。
sharzaq謹製というにはおこがましいコードをご覧ください。
function cmd_find($file='.'){
$o = shell_exec('find ' . $file . ' -type f');
return $o;
}
こちらは配列では帰ってきません。ただの文字列が固まりで帰ってきます。
echo $oするとこんな感じ。
preタグで囲むとこんな感じ。
使い勝手はよろしくないでしょう。この後、\n|\n|\r\n なんかで区切って配列に入れれば何とか。
次の記事では、さらに皆さんのアイデアを比較してみます。
とあるディレクトリ以下のファイルのURLをすべて取得する 第一夜
とあるディレクトリ以下のファイルのURLをすべて取得する。
こんな場面、あると思います。
PHP4もPHP5も共通で使えて、簡単で、早くてっていうコードを探しておりました。
自分でもいろいろ試行錯誤して作ってみたので晒します。
といってもたいしたこと無いですが、一つはPHPに搭載のglob関数を使うもの、もう一つはLinuxコマンドを実行する方法です。
こんな場面、あると思います。
PHP4もPHP5も共通で使えて、簡単で、早くてっていうコードを探しておりました。
自分でもいろいろ試行錯誤して作ってみたので晒します。
といってもたいしたこと無いですが、一つはPHPに搭載のglob関数を使うもの、もう一つはLinuxコマンドを実行する方法です。
2011年11月29日火曜日
[PHP]とあるファイルの文字コードを判定する
PHPで文字コードの判定を行う際、mb_detect_encodingをよく使います。
ベンリなんですが、いまいち判定の精度がよくありません。
それで、PHPに頼るのはやめて、linuxコマンド直打ちを利用します。
利用するコマンドは、「nkf」です。
以下のページを参照しました。
$file に調べたいファイルのパスが入っているとして、
いままで、ファイルを全部読み込んでmb_detect_encodingしてとか、
ファイルの扱いに関しちゃPerlがいいでって思い、perlスクリプトをどうやって使おうか迷ってました。
とても楽チンに解決できてとても、いいわぁ,,,
ベンリなんですが、いまいち判定の精度がよくありません。
それで、PHPに頼るのはやめて、linuxコマンド直打ちを利用します。
利用するコマンドは、「nkf」です。
以下のページを参照しました。
テキストファイルの文字コードを調べるには(nkf編) - @IT http://www.atmarkit.co.jp/flinux/rensai/linuxtips/980nkfguess.html
これを流用します。以下のように、nkfコマンドに--guessオプションを指定すれば文字コードを調べられる。
$ nkf --guess /media/winxp/test.txt
ISO-2022-JP
$ nkf --guess /media/winxp/test2.txt
Shift_JIS
$ nkf --guess ~/test3.txt
UTF-8
$file に調べたいファイルのパスが入っているとして、
$enc = shell_exec('nkf --guess ' . $file);とすれば、$encにそのファイルの文字コードが入ってやってきます。
いままで、ファイルを全部読み込んでmb_detect_encodingしてとか、
ファイルの扱いに関しちゃPerlがいいでって思い、perlスクリプトをどうやって使おうか迷ってました。
とても楽チンに解決できてとても、いいわぁ,,,
2011年8月16日火曜日
タイムゾーン変換プログラム
これいいです。
PHPでデスクトップアプリを作成できるツールを発見しましたので、テストを兼ねてサクッと作りました。
ちっさなオレオレツールを作るのには激しく便利な予感,,,
プログラムはexeを実行すればわかるでしょう。
テストなので対象のタイムゾーンは少なめです。
起動すると上のテキストボックスに、現在の時刻が表示されます。
変換対象の時刻(海外の時刻)を入力し、タイムゾーンを選び変換。
下に日本時刻に変換して表示されます。
ダウンロードする!
exeとdll両方ダウンロードして適当なフォルダに保存してください!
便利なツールを公開してくださっているヒラタさんに感謝。
ヒラタクリエイト - Hirata-Create
http://hirata-create.lar.jp/
PHPでデスクトップアプリを作成できるツールを発見しましたので、テストを兼ねてサクッと作りました。
ちっさなオレオレツールを作るのには激しく便利な予感,,,
プログラムはexeを実行すればわかるでしょう。
テストなので対象のタイムゾーンは少なめです。
起動すると上のテキストボックスに、現在の時刻が表示されます。
変換対象の時刻(海外の時刻)を入力し、タイムゾーンを選び変換。
下に日本時刻に変換して表示されます。
ダウンロードする!
exeとdll両方ダウンロードして適当なフォルダに保存してください!
便利なツールを公開してくださっているヒラタさんに感謝。
ヒラタクリエイト - Hirata-Create
http://hirata-create.lar.jp/
登録:
投稿 (Atom)
ザ・シークレットサービス
大層ななまえですが、選択した文字列をシークレットウインドウ内で、 Google検索するというものです。 https://docs.google.com/open?id=0B58uK3aQr15IM0ItWk1WVnFUWnVleXJVWEhqUktCdw 1...
-
2.それぞれのカレンダーで登録された予定を取得 マイカレンダーを3つ作成しています。 1.デフォルト 2.2番目作成 3.3番目作成 わかりやすい名前で作っています。 このうちのどれかのカレンダーの名前を渡されたときに そのカレンダーの今日の予定を取得し、まと...
-
PHPで文字コードの判定を行う際、mb_detect_encodingをよく使います。 ベンリなんですが、いまいち判定の精度がよくありません。 それで、PHPに頼るのはやめて、linuxコマンド直打ちを利用します。 利用するコマンドは、「 nkf 」です。 以...
-
とあるディレクトリ以下のファイルのURLをすべて取得する。 こんな場面、あると思います。 PHP4もPHP5も共通で使えて、簡単で、早くてっていうコードを探しておりました。 自分でもいろいろ試行錯誤して作ってみたので晒します。 といってもたいしたこと無いですが、一つは...


