2010-03-26 54 views
0

我想打一個小腳本每一個指定的文件名,但我寧願在PHP的n00b所以請幫助我,如果你能:)PHP - 閱讀迪爾斯的號碼,然後需要

我想要的是什麼腳本要做的是:

  1. 我有「index.php」。
  2. 我想要「index.php」從已知文件夾中讀取子目錄,比如說「templates /」
  3. 每個子目錄都將包含一個名爲「content.html」的文件。
  4. 然後索引將爲每個現有的子目錄加載帶有require()函數的「content.html」。

非常感謝您的幫助!

回答

4

RecursiveDirectoryIterator貫穿指定的目錄及其所有子目錄,並返回所有文件系統項目爲SplFileInfo對象:

$iterator = new RecursiveIteratorIterator(
       new RecursiveDirectoryIterator($yourFilePath)); 

foreach($iterator as $file) { 
    if($file->getFilename() === 'content.html') { 
     $file->openFile()->fpassthru(); 
     // or 
     include $file->getRealpath(); 
    } 
} 

使用include當你想通過運行PHP解析器,如.html文件當它包含需要評估的PHP代碼時。如果不是,請使用fpassthru,因爲這應該快一些。也可以使用readfile($file->getRealpath())

0

你想實現什麼?

你想在你的index.php中的不同文件的內容或想要生成這些文件的鏈接?

因爲如果你想聚集內容,這種方法是不夠的,因爲你得到一個無效語法的HTML文件,因爲你只是連接HTML文件的內容。

您將需要一些額外的內容解析以避免這種情況。

乾杯,

達維特

+0

每個子目錄將是一個產品,所以我想指數檢查每個是否存在該文件夾中新的東西,它加載時間。 每個子目錄中的「content.html」文件或「content.php」文件將包含文本/圖像(該產品的描述)的一些html代碼。 所有的產品將顯示在第一頁(index.php) 我知道有更好的方式和商店腳本,但這是我的方式:) – 2010-03-26 14:30:46

+0

我只是想知道,如果content.html是一個完全成熟的HTML文件,但如果它只包含HTML或PHP的片段而不是連接將產生你想要的結果。 – 2010-03-26 14:43:32

+0

只有片段(一個表或一個div) – 2010-03-26 15:37:30