php2html php生成静态页函数
程序员文章站
2022-10-06 09:24:26
<?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("//www.jb51.net", "/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("//www.jb51.net", dirname(__file__)."/yanjing_html/index.html", dirname(__file__)."/yanjing_log/log.txt");
echo "成功";
?>
/**
------------------------
function: php2html($in_url, $out_htmlfile, $out_logfile)
------------------------
@ description: 生成静态函数
@ copyright: copyright (c) 2006 - 2011
@ create: 2006-08-01
@ modify: 2006-10-27
@ 提示:这里要用到的路径为服务器绝对路径; 若给定的路径目录不存在则自动创建
=======================================================================================
@ example:php2html("//www.jb51.net", "/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("//www.jb51.net", dirname(__file__)."/yanjing_html/index.html", dirname(__file__)."/yanjing_log/log.txt");
echo "成功";
?>