Php Wordpress:使用glob()返回一个空数组
我试图从指定目录中提取所有图像,然后显示它们。我在一个普通网站上使用了下面的代码,它可以正常工作Php Wordpress:使用glob()返回一个空数组,php,arrays,wordpress,glob,Php,Arrays,Wordpress,Glob,我试图从指定目录中提取所有图像,然后显示它们。我在一个普通网站上使用了下面的代码,它可以正常工作 <?php $dirname = "images/tile/tile2/"; $images = glob($dirname."*.jpg"); foreach($images as $image) { echo '<li><img src="'.$image.'" /><br /></li>'; }?> 我现在已经移动了这
<?php $dirname = "images/tile/tile2/";
$images = glob($dirname."*.jpg");
foreach($images as $image) {
echo '<li><img src="'.$image.'" /><br /></li>';
}?>
我现在已经移动了这段代码并将其修改到wordpress站点,得到了一个空数组
<?php $dirname = get_template_directory_uri()."/images/tile/tile1/";
$images = glob($dirname. "*.jpg");
//$images = glob($dirname."*. {jpg}", GLOB_BRACE); - tried with GLOB_RACE
foreach($images as $image) {
echo '<li><img src="'.$image.'" /><br /></li>';
}?>
第二代码
<?php define('ACCREDPATH', get_template_directory_uri() . '/images/tile/tile1/');
$images = glob(ACCREDPATH. "*.jpg");
//$images = glob(ACCREDPATH. "*. {jpg}", GLOB_BRACE); - tried with GLOB_RACE
foreach($images as $image) {
echo '<li><img src="'.$image.'" /><br /></li>';
}?>
我已检查图像是否在文件夹中
我已经做了一个var_转储,我得到了正确的路径。
glob$images上的var_dump给出了数组0{}
我也找了其他有这个问题的人,但还是一无所获
请注意,任何帮助都是有用的。glob在本地路径而不是URL上工作。该函数需要能够访问服务器的文件系统,而不能通过URL远程访问
您在工作代码中提供的路径是相对的。它之所以起作用,是因为它既可以用作文件路径,也可以用作URL
为了获得与主题的绝对路径相同的结果,您需要使用get\u template\u目录。在提供的示例中,我使用get_template_directory获取绝对路径,并将get_template_directory_uri作为URL输出
例如:
$theme_img_path = '/images/tile/tile1/';
$images = glob( get_template_directory() . $theme_img_path . '*.jpg' );
foreach ( $images as $image ) {
// Convert the filename into an absolute URL.
echo get_template_directory_uri() . $theme_img_path . basename( $image );
}
在你的第二次尝试中还有一个值得指出的问题。不能使用函数设置常量的值