0

ディレクトリからランダムな画像を選択する必要があります。glob(); を使用するいくつかのアプローチを見てきました。しかし、私は scandir(); を使用したいと思っています。関数。

function random_img(){
$imageDir =  wptouch_get_bloginfo('template_directory').'/images/default-tiles/';
$images = scandir($imageDir);
$randomImage = $images[array_rand($images)];

return $randomImage;
}

上記の関数は画像を取得する必要がありますが、代わりに次のエラーが発生します。

scandir("/myfile/directory/") はディレクトリを開くことができませんでした: "/myfile/directory/" に実装されていません

4

2 に答える 2

0

代わりにこれを試してください。使用しているパスが間違っていると思います:

$imageDir = $_SERVER['DOCUMENT_ROOT'] . 
            get_template_directory_uri() .
            '/images/default-tiles/';
于 2012-09-19T20:06:40.430 に答える
0

問題は、使用しているディレクトリが実際にはローカル システム上のディレクトリではなく、URL であることです。URL でファイルを一覧表示することはできません。含まれているはずだったものをどうやって知ることができますか? 普遍的に実装されたマジックはなく、HTTP 経由のリソースはファイルに対応する必要さえありません。

必要なことは、これらのファイルがローカル システムのどこにあるかを把握し、代わりにそのパスを使用することです。

于 2012-09-19T20:18:38.517 に答える