php產生靜態檔案的二種方法

來源:互聯網
上載者:User
  1. ob_start();#開啟伺服器緩衝
  2. include_once 'Index.php';
  3. $ctx=ob_get_contents();#擷取緩衝
  4. ob_end_clean();#清空緩衝
  5. $fh=fopen("index.html","w+");
  6. fwrite($fh,$ctx);#寫入html,產生html
  7. fclose($fh);
  8. ?>
複製代碼

方法2:php 靜態檔案產生類

  1. class CreateHtml
  2. {
  3. function mkdir( $prefix= 'article' )
  4. {
  5. $y = date('Y');
  6. $m = date('m');
  7. $d = date('d');
  8. $p=DIRECTORY_SEPARATOR;
  9. $filePath='article'.$p.$y.$p.$m.$p.$d;
  10. $a=explode($p,$filePath);
  11. foreach ( $a as $dir)
  12. {
  13. $path.=$dir.$p;
  14. if(!is_dir($path))
  15. {
  16. //echo '沒有這個目錄'.$path;
  17. mkdir($path,0755);
  18. }
  19. }
  20. return $filePath.$p;
  21. }
  22. function start()
  23. {
  24. ob_start();
  25. }
  26. function end()
  27. {
  28. $info = ob_get_contents();
  29. $fileId = '12345';
  30. $postfix = '.html';
  31. $path = $this->mkdir($prefix= 'article');
  32. $fileName = time().'_'.$fileId.$postfix;
  33. $file=fopen($path.$fileName,'w+');
  34. fwrite($file,$info);
  35. fclose($file);
  36. ob_end_flush();
  37. }
  38. }
  39. ?>
  40. $s=new CreateHtml();
  41. $s->start();
  42. ?>
  43. asdfasdfasdfasdfasdfasdfasdfasdfasdf
  44. adfasdfasdf
  45. >
  46. $s->end();
  47. ?>
複製代碼

附:1、Flush:重新整理緩衝區的內容,輸出。函數格式:flush()說明:這個函數經常使用,效率很高。

2、ob_start :開啟輸出緩衝區函數格式:void ob_start(void)說明:當緩衝區啟用時,所有來自PHP程式的非檔案頭資訊均不會發送,而是儲存在內部緩衝區。為了輸出緩衝區的內容,可以使用ob_end_flush()或flush()輸出緩衝區的內容。

3 、ob_get_contents :返回內部緩衝區的內容。使用函數格式:string ob_get_contents(void)說明:這個函數會返回當前緩衝區中的內容,如果輸出緩衝區沒有啟用,則返回 FALSE 。

4、ob_get_length:返回內部緩衝區的長度。使用方法:int ob_get_length(void)說明:這個函數會返回當前緩衝區中的長度;和ob_get_contents一樣,如果輸出緩衝區沒有啟用。則返回 FALSE。

5、ob_end_flush :發送內部緩衝區的內容到瀏覽器,並且關閉輸出緩衝區。使用方法:void ob_end_flush(void)說明:這個函數發送輸出緩衝區的內容(如果有的話)。

6、ob_end_clean:刪除內部緩衝區的內容,並且關閉內部緩衝區使用方法:void ob_end_clean(void)說明:這個函數不會輸出內部緩衝區的內容而是把它刪除!

7、ob_implicit_flush:開啟或關閉絕對重新整理使用方法:void ob_implicit_flush ([int flag])

您可能感興趣的文章:php產生靜態頁面的三種方法與代碼詳解php產生靜態頁面函數(php2html)的例子php產生靜態頁面的方法(三個函數)細說php產生靜態檔案之模板與緩衝php寫的一個產生靜態頁面的類虛擬機器主機上定時自動產生靜態頁面的方法php產生靜態頁面的詳細教程php產生靜態html檔案的原理分析smarty產生靜態頁面的方法瞭解php產生靜態HTML檔案的原理PHP產生靜態頁面的方法php產生靜態html檔案的三種方法

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.