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

问题是您使用的目录实际上不是本地系统上的目录,而是一个 URL。您不能在 URL 上列出文件。怎么会知道应该包括什么?没有一些普遍实现的魔法,HTTP 上的资源甚至根本不必与文件相对应。

您需要做的是找出这些文件在本地系统上的位置,然后使用该路径。

于 2012-09-19T20:18:38.517 回答
0

试试这个,我认为你使用的路径不正确:

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