2013-02-17 37 views
-2

從文件名的完整路徑所以我有一個包含&標題=布拉布拉獲取在PHP

我知道如何提取標題,並返回它的URL。但我一直在尋找我的屁股,以獲得文件名的完整路徑,當我只有文件名。

所以我必須在所有目錄中搜索名爲「布拉布拉」一個HTML文件時,它的唯一的事情就是布拉布拉的途徑。找到它後,它必須返回完整路徑。

任何人誰確實有我一個解決方案嗎?

<?php 

$file = $_GET['title']; 

if ($title = '') { 
echo "information.html"; 
} else { 
//here it must search for the filepath and echo it. 
echo "$filepath"; 
} 

?> 
+1

添加例子......你有什麼,你想要什麼...... – NazKazi 2013-02-17 02:30:30

+0

一招的小馬的解決方案應該對這項工作,只是將'$ root'變量設置爲包含您的內容頁面的文件夾,以避免搜索不必要的文件夾。否則,如上所述,它將非常沒有響應。 – PassKit 2013-02-17 02:35:27

回答

0

您可以使用該解決方案提供here

它可以讓你通過目錄遞歸併列出目錄和子目錄中的所有文件。然後,您可以進行比較,看它是否與您正在查找的文件相匹配。

0
$root = '/';    // directory from where to start search 
$toSearch = 'file.blah'; // basename of the file you wish to search 

$it = new RecursiveDirectoryIterator($root); 
foreach(new RecursiveIteratorIterator($it) as $file){ 
    if($file->getBasename() === $toSearch){ 
    printf("Found it! It's %s", $file->getRealPath()); 

    // stop at the first match 
    break; 
    } 
} 

請記住,這取決於你所擁有的文件的數量,這可能是緩慢的地獄

+0

創建一個包含所有路徑的.txt會更快嗎?只需搜索一行是否包含文件名,如果是這樣的話,那麼回顯該行? – user2012141 2013-02-17 02:35:57

+0

如果該列表已創建一次,那麼是。我想你可以在每次修改'$ root'目錄的修改日期時重建列表 – 2013-02-17 02:37:57