2016-09-06 72 views
-2

我有一個名爲「ABCDEF-GHIJK-LM」的文件夾,其中「ABCDEF」是固定的,而後兩部分是基於用戶輸入和文件夾名稱以「ABCDEF」是唯一的,即只有一個文件夾將以ABCDEF開頭。檢查文件夾名是否可用文件夾的起始名稱

由於某些邏輯原因,我無法保存完整的文件夾名稱。
任何人都可以請建議如何檢查是否有任何文件夾可用ABCDEF開始?

注意:請詢問是否需要任何數據。 在此先感謝。

+0

保存完整的文件夾名稱在哪裏?保存它如何?你希望我們猜測這一切? –

+0

嗨@u_mulder感謝您的評論,但我沒有提到這些,因爲我認爲這不是必需的,並且也不需要保存過程,因爲我已經有一個名爲「ABCDEF-GHIJK-LM」的文件夾。而且它不需要獲取信息。 – nishant

+1

函數glob()應該是你正在尋找的。 – jannej

回答

1

給你:

$path = 'path_to_search/'; 
$results = scandir($path); 

foreach ($results as $result) { 
    if ($result === '.' or $result === '..') continue; 

    if (is_dir($path . '/' . $result)) { 
     if (substr($result, 0, 6) === "ABCDEF") { 
      //folder exists 
     }; 
    } 
} 
+1

謝謝@webmaster請讓我檢查 – nishant

+0

@nishant你檢查過嗎? – webmaster

+0

是的,它的工作,但由於主文件夾有太多的文件夾,所以它需要時間。我還在@jannej提示的幫助下找到了一個解決方案,並在下面發佈。再次感謝。 – nishant

1

您可以使用PHP目錄功能(http://php.net/manual/de/function.dir.php):

<?php 
$d = dir("/path/to/base/dir"); 
while (false !== ($entry = $d->read())) { 
    if (strpos($entry,'ABCDEF')===0) { 
     // DIR FOUND, do what you want 
     ... 
     break; 
    } 
} 
$d->close(); 
?> 
+0

謝謝@Oliver請讓我檢查 – nishant

0

感謝所有您的幫助和上面的回答也工作了,但我已經找到了一個簡單的解決方案它和它工作正常。

$folderName='ABCDEF'; 
    $fileInstaceFound = glob('fullFolderPath/'.$folderName.'-*'); 
    if(empty($fileInstaceFound)){ 
     // folder not found 
    }else{ 
     //folder found 
    }