2013年3月21日 星期四

顯示原始碼的 PHP 程式

上一次整理 jQuery 的 Ajax load 方法時, 為了能顯示原始碼著實傷了一些腦筋. 後來在 "幾個鮮為人知的HTML標籤" 這篇文章發現, 原來 xmp 這個標籤適合用作語法的教學解說, 因為瀏覽器不會解譯它所包含的 HTML 碼與程式. 利用 PHP 的檔案讀取指令 file_get_contents(), 把伺服器中要顯示的檔案路徑傳給它, 很簡單就能做出顯示原始碼的功能 (一般為了安全都想辦法防止伺服端源碼外洩, 但為了教學說明卻是反其道而行). 方法如下 :

<?php $file=file_get_contents($_GET["file"]); ?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title><?php echo $_GET["file"] ?></title>
</head>
<body>
<xmp>
<?php echo $file; ?>
</xmp>
</body>
</html>

把這個檔案 source.php 放到伺服器中 (注意, 要存成 utf-8 格式, 以免中文變成亂碼), 要顯示 /test/ajax_load_test.htm 源碼的話, 用個超連結就可以了 :

<a href="http://www.myweb.com.tw/source.php?file=test/ajax_load_test.htm" target="_blank">顯示 ajax_load_test.htm 源碼</a>

把要顯示的檔案放在 file 參數中傳給 source.php 即可.

沒有留言 :