我不知道如何在没有完全超出描述的情况下进入这一点,所以我尽量做到尽可能短而不遗漏重要的一点。我之前看过一个命令行解决方案,但找不到。所以考虑一下PHP解决方案。
我目前有一大堆图像都保存在以下布局的各种文件夹中:
locationname/hotelname/image.jpg
locationname/businessname/hotelname/image.jpg
locationname/businessname/hotelname/image.jpg
locationname/operatorname/hotelname/image.jpg
显然,这里的共同点是目录始终以酒店名称结尾,幸运的是,酒店名称与图像所涉及的Wordpress帖子标题的名称相同。
我没有尝试将所有$ hotelname文件夹重新排列到同一目录中,我认为我可以扫描目录中的最低目录,然后我可以从中获取图像。有点像foreach循环,图像来源如下:
<img src="$calculatedurl/image.jpg"/>
提前致谢。
编辑:我想要实现的目标。
每个帖子都有一个帖子标题,标题几乎与上传目录中包含其图像的文件夹的名称相同。因此,对于名为“Agrade Apartments”的酒店,图像存储在:
wp-content/uploads/locationame/Agrade Apartments/image.jpg
有超过1000套公寓,所以我想写一个条件语句,检查图像是否有附件,如果有,然后显示图像,而不是试图通过每个帖子并手动添加图像。附加,如果没有,则获取$ posttitle并扫描上传目录中的同名文件夹,获取内容和foreach $ contents作为$ content将文件添加到jQuery滑块。
所以我粗略地说:
$posttitle = the_title();
$args = array(
'post_type' => 'attachment',
'numberposts' => -1,
'post_status' => null,
'post_parent' => $post->ID
);
$attachments = get_posts( $args );
$alternativeurl =
if ( $attachments ) {
foreach ( $attachments as $attachment ) {
echo '<li>';
echo wp_get_attachment_image_src();
echo '</li>';
}
} else {
//use a php function to loop through all the folders in the
//wp-content/uploads that match the $posttitle variable.
//when found, loop through each file inside the folder and add
//each url to my jQuery slider as a foreach loop.
}
希望有助于进一步解释。
答案 0 :(得分:0)
据我所知,您希望扫描所有文件夹层次结构,并查找“属于”某些酒店列表的所有图像。
如果我们假设所有酒店名称都是唯一的,并且您可以访问图像所在的文件系统,我建议您
readdir()
获取存储图像的根目录的内容id_dir()
和is_file()
检查下一个项目是目录还是常规文件realpath()
获取其目录的完整路径,并使用DIRECTORY_SEPARATOR
作为分隔符拆分字符串array_pop()
会为您提供酒店名称这里有一些额外的信息: http://php.net/manual/en/ref.dir.php
答案 1 :(得分:0)
我有类似的东西来显示所有文件夹
$sName = '.';
$oDir = opendir($sName);
$aDirList = array();
while($sDir = readdir($oDir)) {
if($sDir != '.' && $sDir != '..') {
if(is_dir($sName.'/'.$sDir)) {
$aDirList[] = $sDir;
}
}
}
closedir($oDir);
if(!empty($aDirList)) {
sort($aDirList);
echo "Folders list : <br>";
echo "<ul>";
foreach($aDirList as $sDir) {
echo "<li><a href=\"$sName/$sDir \">$sDir</a></li>";
}
echo "</ul>";
}
也许他们会有一些错误,但这是我的代码的一个例子......
希望我帮助你! :)