2016-09-06 95 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 
    } 
相关问题