タグ: shell_exec を抽出しています。
Total: 2

phpからmecabのわかち書き

ブログ | 2009/1/10 20:04
file_put_contents($tmpfile,$str);
return shell_exec('/opt/local/bin/mecab -O wakati '.$tmpfile);
こんな感じで、ファイルを作ってみたのだけれど、
http://kudelab.com/archives/15
のソースでは、ファイル必要なし。

-O wakati を足してみよう。

$descriptorspec = array(
 0 => array("pipe", "r"),
 1 => array("pipe", "w")
);
$process = proc_open("/opt/local/bin/mecab -O wakati", $descriptorspec, $pipes);

if(is_resource($process)){
 fwrite($pipes[0], $str);
 fclose($pipes[0]);
 $result = stream_get_contents($pipes[1]);
 fclose($pipes[1]);
 proc_close($process);
 return($result);
}

「神奈川県」をどうやって検索しよう。
「神奈川県」は「神奈川 県」と分かれるから、「神奈川」ではヒットしても「神奈川県」でヒットしない。検索文字列もわかちして「+神奈川 +県」で一応ヒットするけれど、「神奈川と千葉県は東京湾を挟んでいる」がヒットしてしまってよいのだろうか。

あとで考えよう。

my.cnfに
ft_min_word_len=1
は忘れずに。

スクリーンキャプチャを自動生成

ブログ | 2007/12/13 18:38
PHPからアップルスクリプトの実行を含んだシェルスクリプトを実行して、スクリーンキャプチャを生成するのです。

<?php

$url = 'http://karasu.net';
$filepath = '/Users/kuwa/Documents/sc_php.png';

$cmd = <<<EOF

osascript << EOS
tell application "Safari"
 activate
 open location "$url"
 set bounds of window 1 to {248, 22, 1048, 800}
end tell
EOS

sleep 3
screencapture $filepath
sips --cropToHeightWidth 600 770 $filepath --out $filepath
sips --resampleHeightWidthMax 300 $filepath --out $filepath

EOF;

shell_exec($cmd);

?>

原理としては、
1. safariで目的のページを開く(applescript)
2. そのウインドウの大きさと位置を調整する。(applescript)
3. スクリーンキャプチャを撮る。(shell)
4. そのファイルをトリミングし、サイズを調整して保存。(shell)

モニターのサイズによって、数字は調整が必要。上記のものでは、MacBook 1280×800を利用。


参考
http://www.sra.co.jp/people/h-asaoka/study/Mac/s...
http://www.bison.jp/nucleus/index.php?itemid=314
http://jp.php.net/manual/ja/function.shell-exec....

前 | 1 | 次

Rottel内コンテンツ

ユーザー一覧

Rottelとは?
利用規約
開発飲料
利用者の声
ヘルプ
close