面倒だけどマニュアルは読みましょう。

おっちゃんのメモ帳画像のランダム表示というエントリより。

//「.」と「,,」の削除
array_shift($directory);
array_shift($directory);

これ、間違ってます。
.や..(参照元では,,になっていますが)が配列の最初に入る保証はありません。
マニュアルにも

string readdir ( resource $dir_handle )
ディレクトリから次のファイルのファイル名を返します。 ファイル名はファイルシステム上に格納されている順番で返されます。

とあります。ファイルシステム上に格納されている”順番”って何となくは分かるんですけど厳密な定義は難しいですね。
マニュアルのreaddirのページ、例496におっちゃんさんのやりたい例は載ってますね。

  1. No comments yet.

  1. No trackbacks yet.