2012-08-25 61 views
0

在PHP中尋找類似於octopress的東西並找不到任何東西后,我決定自己在php中創建一些可以做到這一點的技巧。使用php讀取php文件中的元數據

我想先從寫在PHP一些代碼,讀取PHP文件,並可以從中提取元數據,這樣我就可以建立的博客文章存檔頁等

我以爲我可以創建yaml文件,並在這些文件中包含php/html,以獲取博客帖子的主要內容,但是我不清楚這是否可能?谷歌搜索「使用php在yaml」沒有真正讓我更進一步。

所以我想我會問在這裏做什麼最好的方法是什麼。

任何人都可以幫忙嗎?

感謝 乙

回答

1

我不熟悉YAML - 你能簡單地使用PHP的get meta tags

<?php 
// Assuming the above tags are at www.example.com 
$tags = get_meta_tags('http://www.example.com/'); 

// Notice how the keys are all lowercase now, and 
// how . was replaced by _ in the key. 
echo $tags['author'];  // name 
echo $tags['keywords'];  // php documentation 
echo $tags['description']; // a php manual 
echo $tags['geo_position']; // 49.33;-86.59 
var_dump($tags);// See any and all meta tags that have been picked up. 
?> 

編輯:我添加的var_dump的,所以你可以看到所有得到的標籤。在您想要點擊的頁面上進行測試。

+0

可以試試這也爲非標準標籤工作?我基本上需要存儲關於我在文件本身閱讀的php文件的各種信息,有點像標題.... – b20000

+0

@ b20000請參閱編輯。 – Fluffeh

+0

如果我想創建自己的元標記,該怎麼辦? – b20000

0
<?php 
header('Content-Type:text/html; charset=utf-8'); 
$tags = get_meta_tags('http://www.narenji.ir'); 
var_dump($tags); 
?> 

Output is 
array 
    'keywords' => string 'اخبار, تکنولوژی, نارنجی, گجت, فناوری, موبایل, خبر, تبلت, لپ تاپ, کامپیوتر, ربات, مانیتور, سه بعدی, تلویزیون' (length=186) 
    'description' => string 'مکانی برای آشنایی با ابزارها و اخبار داغ دنیای فناوری' (length=97) 

或者你可以使用下面的代碼

<?php 
$url = 'http://www.example.com/'; 

if (!$fp = fopen($url, 'r')) { 
    trigger_error("Unable to open URL ($url)", E_USER_ERROR); 
} 

$meta = stream_get_meta_data($fp); 

print_r($meta); 

fclose($fp); 
?> 

如果源文件是圖像,那麼你可以用它

<?php 
echo "test1.jpg:<br />\n"; 
$exif = exif_read_data('tests/test1.jpg', 'IFD0'); 
echo $exif===false ? "No header data found.<br />\n" : "Image contains headers<br />\n"; 

$exif = exif_read_data('tests/test2.jpg', 0, true); 
echo "test2.jpg:<br />\n"; 
foreach ($exif as $key => $section) { 
    foreach ($section as $name => $val) { 
     echo "$key.$name: $val<br />\n"; 
    } 
} 
?>