程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP生成網站靜態頁方法

PHP生成網站靜態頁方法

編輯:PHP綜合

大流量網站為了優化服務器性能消耗,常常把網站頁面生成為靜態文件,可以有效提高服務性能。

下面分享一個php生成靜態頁的函數

生成靜態函數 這裡要用到的路徑為服務器絕對路徑; 若給定的路徑目錄不存在則自動創建 

<?php
/**
------------------------
Function: php2html($in_Url, $out_htmlFile, $out_logFile)
------------------------
@ Description: 生成靜態函數
@ Copyright: Copyright (c) 2006 - 2011
@ Create: 2006-08-01
@ Modify: 2006-10-27
@ 提示:這裡要用到的路徑為服務器絕對路徑; 若給定的路徑目錄不存在則自動創建
=======================================================================================
@ Example:php2html("http://", "/www/html/index.html", "/www/log/log.txt");
*/
// {{{ contents
function php2html($in_Url, $out_htmlFile, $out_logFile)
{
$htmlContent = file_get_contents($in_Url); //將文件讀入 $htmlContent 變量
/**
* @檢查要生成的文件是否存在
*/
if (is_file($out_htmlFile))
{
@unlink($out_htmlFile);//若文件已存在,則刪除
}
/**
* @ 創建目錄 網頁部分
*/
$dir_array = explode("/", dirname($out_htmlFile));
chdir("/"); //改變目錄到根
for($i=1;$i<count($dir_array);$i++)
{
if(is_dir($dir_array[$i]))
{
chdir($dir_array[$i]);
}
else
{
mkdir($dir_array[$i]);
chdir($dir_array[$i]);
}
}
/**
* @ 創建目錄 日志部分
*/
$dir_array = explode("/", dirname($out_logFile));
chdir("/"); //改變目錄到根
for($i=1;$i<count($dir_array);$i++)
{
if(is_dir($dir_array[$i]))
{
chdir($dir_array[$i]);
}
else
{
mkdir($dir_array[$i], 0777);
chdir($dir_array[$i]);
}
}
$handle = fopen($out_htmlFile, "w"); //打開文件指針,創建文件
$logHandle = fopen ($out_logFile, "a+"); //打開日志文件
/**
* @檢查目錄是否可寫
*/
if (!is_writable($out_htmlFile))
{
echo "文件:".$out_htmlFile."不可寫,請檢查目錄屬性後重試";
exit();
}
if (!is_writable($out_logFile))
{
echo "文件:".$out_logFile."不可寫,請檢查目錄屬性後重試";
exit();
}
/**
* @寫入文件
*/
if (!fwrite ($handle, $htmlContent))
{
$logMsg = "寫入文件" . $out_htmlFile . "失敗";
}
else
{
$logMsg = "創建文件" . $out_htmlFile . "成功";
}
/**
* @記錄日志
*/
$logMsg .= "(".date("Y-m-d H:i:s") .")\r\n";
fwrite ($logHandle, $logMsg);
fclose($logHandle); //關閉日志指針
fclose ($handle); //關閉指針
}
// }}}
php2html("http://", dirname(__FILE__)."/yanjing_html/index.html", dirname(__FILE__)."/yanjing_log/log.txt");
echo "成功";
?>
*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved