1. HOME
  2. 開発・ブログ運営
  3. PHP
  4. PHP5 で scandir() を使ってファイル(ディレクトリ)を読み込んでみた
2012年12月11日
PHP で今表示しているページの URL を取得する。 ...
2012年07月23日
PHP5 で Yahoo! トピックスの RSS を表示してみ ...
2016年07月31日
Docker 公式イメージで立ち上げた PHP-FPM コンテ ...
2013年03月28日
エックスサーバーで 500 Internal Server エ ...
2012年10月25日
漫画「ブラックジャックによろしく」全13巻の無料配信を PHP ...
2012年10月16日
10分で出来た!OAuth と PHP でつくる Twitte ...

PHP5 で scandir() を使ってファイル(ディレクトリ)を読み込んでみた

PHP5 な人は、readdir() ではなくて scandir() を使った方が良いと思います。

PHP ファイル内から、include() とかじゃなくてディレクトリの一覧を取得したり、 ファイルの一覧を取得したりする方法です。

こちらの記事では、readdir() を使ってファイル/ディレクトリを取得してみましたが、PHP5.x からは、scandir() という関数が使えるようになっていますが、PHP 4.x な人は readdir() でファイル(フォルダ)の読み込みをしてみてください。

関連記事:PHP 4 で readdir() を使ってファイル(ディレクトリ)を読み込んでみた

readdir() だと、読み込み順がバラバラなソートしないといけなかったりハンドラを開いたり閉じたりする必用がありましたが、scandir() はもっと簡単に使えます。

たったこれだけです。$files にはソートされた形で配列が格納されますので、あとは foreach() でも for でも好きなようにループ回して処理するだけ。

残念ながら scandir() は、PHP4 では使えませんが、PHP5 な人は readdir() の代わりに scandir() を使う方が良いと思います。

参考:PHP: scandir – Manual

ちょっとはまった

readdir() のディレクトリパス指定は、「./hoge/foo 」でできましたが、scandir() の場合は、「./」なしで、「hoge/foo」としないと、上手く読み込めませんでした。

この辺はサーバー環境によるのかな?

なんか良く分かりませんが、上手く読み込めない場合は、パス指定の方法を変えてやると上手くいくかもしれません。

でわでわ。







この記事にコメントする





Copyright © 2012 - 2014 MacBook Air とWordPressでこうなった All rights reserved
Powered by WordPress.