1. ------------------------
  2. Function: php2html($in_Url, $out_htmlFile, $out_logFile)
  3. ------------------------
  4. @ Description: 生成静态函数
  5. @ Copyright: Copyright (c) 2006 - 2011
  6. @ Create: 2006-08-01
  7. @ Modify: 2013-02-16
  8. @ 提示:路径为服务器绝对路径; 若给定的路径目录不存在则自动创建
  9. @ Example:php2html("http://bbs.it-home.org", "/www/html/index.html", "/www/log/log.txt");
  10. */
  11. // {{{ contents
  12. function php2html($in_Url, $out_htmlFile, $out_logFile)
  13. {
  14. $htmlContent = file_get_contents($in_Url); //将文件读入 $htmlContent 变量
  15. /**
  16. * @检查要生成的文件是否存在
  17. */
  18. if (is_file($out_htmlFile))
  19. {
  20. @unlink($out_htmlFile);//若文件已存在,则删除
  21. }
  22. /**
  23. * @ 创建目录 网页部分
  24. */
  25. $dir_array = explode("/", dirname($out_htmlFile));
  26. chdir("/"); //改变目录到根
  27. for($i=1;$i{
  28. if(is_dir($dir_array[$i]))
  29. {
  30. chdir($dir_array[$i]);
  31. }
  32. else
  33. {
  34. mkdir($dir_array[$i]);
  35. chdir($dir_array[$i]);
  36. }
  37. }
  38. /**
  39. * @ 创建目录 日志部分
  40. */
  41. $dir_array = explode("/", dirname($out_logFile));
  42. chdir("/"); //改变目录到根
  43. for($i=1;$i{
  44. if(is_dir($dir_array[$i]))
  45. {
  46. chdir($dir_array[$i]);
  47. }
  48. else
  49. {
  50. mkdir($dir_array[$i], 0777);
  51. chdir($dir_array[$i]);
  52. }
  53. }
  54. $handle = fopen($out_htmlFile, "w"); //打开文件指针,创建文件
  55. $logHandle = fopen ($out_logFile, "a+"); //打开日志文件
  56. /**
  57. * @检查目录是否可写
  58. */
  59. if (!is_writable($out_htmlFile))
  60. {
  61. echo "文件:".$out_htmlFile."不可写,请检查目录属性后重试";
  62. exit();
  63. }
  64. if (!is_writable($out_logFile))
  65. {
  66. echo "文件:".$out_logFile."不可写,请检查目录属性后重试";
  67. exit();
  68. }
  69. /**
  70. * @写入文件
  71. */
  72. if (!fwrite ($handle, $htmlContent))
  73. {
  74. $logMsg = "写入文件" . $out_htmlFile . "失败";
  75. }
  76. else
  77. {
  78. $logMsg = "创建文件" . $out_htmlFile . "成功";
  79. }
  80. /**
  81. * @记录日志
  82. */
  83. $logMsg .= "(".date("Y-m-d H:i:s") .")\r\n";
  84. fwrite ($logHandle, $logMsg);
  85. fclose($logHandle); //关闭日志指针
  86. fclose ($handle); //关闭指针
  87. }
  88. // }}}
  89. php2html("http://bbs.it-home.org", dirname(__FILE__)."/yanjing_html/index.html", dirname(__FILE__)."/yanjing_log/log.txt");
  90. echo "成功";
  91. ?>
复制代码

您可能感兴趣的文章:php生成静态页面的三种方法与代码详解php生成静态页面的方法(三个函数)php生成html静态页面的方法参考php写的一个生成静态页面的类将数据库中的所有内容生成html静态页面的代码虚拟主机上定时自动生成静态页面的方法php生成静态页面的详细教程apache中访问不了伪静态页面的解决方法php写的关于静态页面的蜘蛛爬行记录的代码smarty生成静态页面的方法PHP生成静态页面的方法apache访问不了伪静态页面的解决方法



09-12 19:50