たった数行のプログラムでドツボにはまる。

 

ls -m というコマンドをPHPのexecという関数を使用して
画像リストを取得しようとしてハマった・・・。
この関数、exec(“ls -m”)と書くと全部返却値が返ってくる前に
変数に値を代入してくれるという何とも厄介な代物です。
処理するコマンドによるのですが・・そうなる場合があります。

なので第三引数まで書いて処理することが望ましいです。
また返却値は配列で返ってくるのでそれを一度、文字列化を行い
自分が取得したい値を再度処理を加えることが望ましいです。

今回、ディレクトリの画像ファイル参照し
画像読み込みをbass64のエンコードを行って
画像をIMGタグに入れ込むといった一連の流れを上記では
記述しています。

ちなみにTrimも行っています、
ls -m の場合、文字の前後に・・・空白部分があるので、
get_file_contentsを行う前にその処理を行う必要がありますが
画像名に先頭や後方に空白文字がある場合は一工夫行う必要がありますが。

今回は簡易的な処理のため、このよう感じで
大丈夫だと思います。