2015-09-09 89 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