2015-09-09 91 views
2

我不知道如何进入这个网站,但没有完全按照说明进行处理,所以我尽可能地尽量简化,而不必留下重要的位。我以前看过一个命令行解决方案,但找不到。所以想想一下PHP解决方案。使用PHP查找目录名称

我目前都在下面的布局保存到不同的文件夹中图像的每吨:

locationname/hotelname/image.jpg 
locationname/businessname/hotelname/image.jpg 
locationname/businessname/hotelname/image.jpg 
locationname/operatorname/hotelname/image.jpg 

显然这里的共同点是,目录总是与酒店的名称结尾,幸运的是,酒店的名称是与图片相关的Wordpress帖子标题同名。

与其尝试将所有$ hotelname文件夹重新排列到同一个目录中,我是否认为我可以扫描最低目录的目录,然后从那里获取图像来源。有点像foreach循环与图像sourced像:

<img src="$calculatedurl/image.jpg"/> 

在此先感谢。

编辑:我想实现的。

每个帖子都有一个帖子标题,标题与包含其图片的上传目录中的文件夹名称几乎完全相同。因此,对于所谓的“Agrade公寓”的旅馆,图像存储在:

wp-content/uploads/locationame/Agrade Apartments/image.jpg 

有超过1000个公寓,因此,而不是试图去通过每个岗位和手动添加的图片,我想写一个条件语句,它将检查图像是否有附件,如果它确实显示附加的图像,如果没有,则获取$ posttitle并扫描上传目录中的同名文件夹,获取内容和foreach $ content as $ 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. 
    } 

希望帮助解释远一点:

所以我大概就结了。

+2

而问题是......? – axiac

+0

与其尝试将所有$ hotelname文件夹重新排列到同一个目录中,我是否认为我可以扫描最低目录的目录,然后从那里获取源图像。有点像foreach循环,图像来源如下: –

+1

你想实现什么? – aimme

回答

0

据我所知,你喜欢扫描所有文件夹的层次结构,并找到“属于”某些酒店列表的所有图像。

如果我们假定什么都酒店名称是唯一的,你可以访问文件系统中的图像,我会建议你

  1. 使用readdir()得到其中的图像存储
  2. 根目录的内容
  3. 使用id_dir()is_file()检查的下一个项目是一个目录或常规文件中
  4. 迭代更深尊卑
  5. 如果文件符合您的要求(例如,它是“*。JPG“),就可以得到完整路径,它是一个使用realpath()目录和拆分使用DIRECTORY_SEPARATOR作为分隔符串
  6. array_pop()会给你这是酒店名称

这里的名字是一些额外的信息: http://php.net/manual/en/ref.dir.php

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>"; 
} 

也许他们你要去有一些错误但它是我的代码的一个例子...

希望我能帮到你! :)

+1

我改变了第一行阅读$ sName = get_site_url()。'/ wp-content/uploads'; 即时通讯使用你的例子,但即时通讯错误: http://greenmonkeypublicrelations.com/citypads/functions/ –

+0

哦...这个小代码是完全适用于我。学习PHP文档以找到与您有关的错误。当我有一点时间来帮助你时,我会看一看。祝你好运 ! – SatanicGeek