2013-01-20 190 views
0

此php代碼使用opendir()顯示文件夾中的文件數組。php從opendir獲取描述

問題: 這段代碼的工作原理是這樣的,但我想要做的是顯示文件的描述。

我已經在代碼中添加$描述的網址:

$result .= '<h6><a href="../folder/'.$file.'">'.$title.'</a></h6><p>$description</p><p><a href="../folder/'.$file.'">'.$file.'</a></p>'; 

,顯示

文件名

$描述

文件name.php

問題:我不知道如何調用函數來獲取描述。

<?php 

if ($handle = opendir('../folder/')) { 
    $fileTab = array(); 
    while (false !== ($file = readdir($handle))) { 
     if ($file != "." && $file != ".." && $file != 'index.php') { 
      $fileTab[] = $file; 
     } 
    } 
    closedir($handle); 
    shuffle($fileTab); 
    foreach($fileTab as $file) { 
     $title = str_replace('-', ' ', pathinfo($file, PATHINFO_FILENAME)); 
     $result .= '<h6><a href="../folder/'.$file.'">'.$title.'</a></h6><p>$description</p><p><a href="../folder/'.$file.'">'.$file.'</a></p>'; 
    } 
} 
?> 
<?=$result?> 
+1

什麼是'$ description',它在哪裏,它在哪裏定義? –

+0

對不起,我想獲取meta描述並在$ result中顯示$ description,請參閱鏈接例如[link] http://test.whatanswered.com/health/a.php –

+0

您可以使用http ://php.net/manual/en/function.exif-read-data.php獲取jif或tiff文件的'exif'頭文件。 – Cyclonecode

回答

0

由於qeremy說$ description定義在哪裏?即使給$ description分配了一個值,它也不會顯示爲變量內容,因爲您將該字符串包含在單引號''中。如果你想PHP解析一個變量作爲變量值(而不是變量的字符串名字),你需要或者用雙引號"",或打破字符串,例如包括varibale名稱:

$result .= '<h6><a href="../folder/'.$file.'">'.$title.'</a></h6><p>'.$description.'</p><p><a href="../folder/'.$file.'">'.$file.'</a></p>'; 
+0

即時通訊只是學習PHP和不知道如何調用函數來獲取描述,爲什麼我沒有添加'。$ description'。在引號是因爲它會回顯我正在查看的當前頁面網址。 –

+0

啊好的。你正在使用什麼類型的文件類型以及你希望獲得什麼樣的描述? opendir函數不返回文件或目錄的任何描述。據我所知,沒有任何本地PHP函數返回的東西不僅僅是一些基本文件的具體細節(如大小,類型等)。要獲得任何其他細節,您需要使用附加庫或代碼(例如:http://code.google。com/p/php-reader /如果你正在使用圖像文件,那麼你將需要使用exif函數提到的Krister Andersson – Zappa

+0

我使用的是PHP文件,我希望能夠獲得meta描述,看看這個鏈接你將立即明白[鏈接] http://test.whatanswered.com/health/a.php我不知道是否有一些功能,我可以添加到當前的代碼,以獲得元描述像file_get_contents。 –

0

好!

正如我所看到的,您希望在循環中顯示項目並按標題和描述順序編寫它們。在這一點上,我認爲你需要一個集成到數據庫中的適當系統。

簡單;

// table: items 
id | title  | description 
----------------------------------- 
1 | Headaches | Lorem ipsum dolor... 

如果不適合你,那麼你可以這樣做(但不是很方便!),你可以保持在.txt文件數據像文件夾目錄;

// folder/headaches.txt 
Headaches|||What can you do to stay healthy, your... 

// php 
$files = glob("folder/*.txt"); 
foreach ($files as $file) { 
    $info = pathinfo($file); 
    $filename = $info['filename']; 
    $contents = file_get_contents('descriptions/'. $filename .'.txt'); 
    list($title, $description) = explode('|||', $contents, 2); 
    $result .= sprintf('<h6><a href="../folder/%s">%s</a></h6><p>%s</p><p><a href="../folder/%s">%s</a></p>', 
          $filename, $title, $description, $filename, $filename); 
}