Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php从目录加载随机图像_Php_Arrays_.htaccess - Fatal编程技术网

使用php从目录加载随机图像

使用php从目录加载随机图像,php,arrays,.htaccess,Php,Arrays,.htaccess,我需要从目录中选择一个随机图像。我见过一些使用glob()的方法;但我希望使用斯堪的纳维亚();功能 function random_img(){ $imageDir = wptouch_get_bloginfo('template_directory').'/images/default-tiles/'; $images = scandir($imageDir); $randomImage = $images[array_rand($images)]; return $randomImag

我需要从目录中选择一个随机图像。我见过一些使用glob()的方法;但我希望使用斯堪的纳维亚();功能

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/”)无法打开dir:not implemented in“/myfile/directory/”

请尝试此方法,我认为您使用的路径不正确:

$imageDir = $_SERVER['DOCUMENT_ROOT'] . 
            get_template_directory_uri() .
            '/images/default-tiles/';

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


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

/images/default tiles/
确实是您的本地图像目录吗?如果您试图在不同的fopen包装器(如HTTP)上列出目录的内容,通常会出现这样的错误。我已经编辑了我的问题,因此它包含了真正的动态路径。当您
echo wptou\u get\u bloginfo('template\u directory')时会输出什么
?beta.sr.local/wp content/wptouch data/themes/CMN Touch Base/iphone/@CNCPTS查看我的编辑,这是否有效?这让我更接近了,但最终唯一有效的解决方案是:$imageDir=ABSPATH。$wp-content/wptouch data/themes/CMN Touch Base/iphone/images/default tiles/;