MacのターミナルでPHPを実行

ローカルでシェルを使うと作業が捗ることが多いです。
ちょっと混みあった処理をしようと思うと途端にシェルが書けない。(覚えようとも思わない)
そんなときにPHPerな私はよくPHPを実行します。

Mac OSにはPHPが最初からインストールされています。
Spotlightにターミナルと打ち込み、ターミナルを起動します。
そして次のコマンドを打ってみてください。

which php

PHPのインストールされている場所へのパスが表示されたと思います。
僕の環境では/usr/bin/phpと帰ってきました。

では基本的なものからいくつか

# phpのバージョンを表示
php -v

# 文字列を引数で渡し、PHPとして実行
php -r "echo 'hogehoge';"

# phpファイルを実行
php ./hoge.php

# -l オプションでエラーを表示
php -l ./sample.php

このPHPファイルを実行の中で、複雑な処理が書けるので、かなり面倒が捗ります。

あるサイトからスクレイピングをして、画像ファイルURLのリストが書かれたテキストを書き出し、wgetでダウンロード。
ダウンロードしたものを、サーバへFTPみたいなことをしています。

ASPを使ったサイトなどは、rsyncも使えない、FTPも使えない。
1回だけの同期ならダウンローダーでよいんでしょうが、定期的に更新される。
そんなときにやってます。

PHPからシェルも実行できるので最高です。

exec('wget -i "./dir/_photo.txt" -P "./dir"');