1.バッファーの概念:
バッファは、実際にはバッファ、メモリアドレススペース、メインのユーザーストレージデータ領域です。
PHPでステートメントを出力するプロセスは次のとおりです:content --php buffer --- tcp --- terminal
phpでバッファを開きます。php.iniファイルを入力して、「output_buffering = on」を開きます。
例:(バッファ内のデータを取得)
<?php
echo 'バッファデータを取得します。
//次の関数を介してバッファのデータを取得します
echo ob_get_contents();
?>
2. PHPはページ静的メソッドをどのように実現しますか。
第1種:file_get_contents()関数を使用
file_get_contents():文字列をファイルに書き込みます。
file_get_contents( 'index.shtml'、 'String data');
2番目の種類:ページの静的を実現するためにPHPの組み込みキャッシュメカニズムを使用:output_buffering
一般的に使用されるいくつかの機能:
ob_start:出力制御バッファーを開きます(php.iniファイルのoutput_bufferingが閉じている場合、この関数を直接使用して開始できます)
ob_get_contents:出力バッファの内容を返します
ob_clean:出力バッファの内容をクリアします
ob_get_clean:現在のバッファの内容を取得し、現在の出力バッファを削除します
3.完全に静的なケースを実現するためのステップ:
主な実用的な手順の1つは、データベースからデータを取得し、取得したデータをテンプレート(php動的ページ)に入力し、動的ページを静的ページに変換して純粋な静的を生成することですファイル。
ケーススタディ:
<?php
dataarray:データベースで見つかったデータ(配列の形式)
ob_start(); //バッファを開始
//データベースから取得したデータをテンプレートファイルに入力し、テンプレートファイルを現在のページに導入して実行します
require_once( '/ index.php');
if(file_put_contents( 'index.shtml'、ob_get_clean()))
{
エコー '成功';
}そうしないと
エコー 'エラー';
?>
上記のプログラムは純粋に静的なページを生成します:index.shtml
4.システムをトリガーして純粋に静的なページを生成する方法:
3つの方法:
まず、ページにキャッシュ時間を追加します
if(is_file( "./ index.shtml")&&(time()-filemtime( "./ index.shtml"))<500){require_once( "./ index.shtml")// 5分未満生成された静的ファイルを読み込みます}その他{//動的テンプレートファイルに静的ファイルの再生成を依頼します}
2番目:手動トリガーモード
3番目:crontab定期スキャンプログラム(Linuxシステムの時限更新プログラム)
crontab定期スキャンプログラム(Linuxのスキャンツール):
例:* / 5 **** php /data/static/index.php
* / 5 **** php:アスタリスクを使用して5つのタイムゾーンを表します。最初の星は分を表し、後続の星は時間、日、月、週を順番に表します。明らかに、これは5分ごとに次のパスで実行されることを意味します。 PHPプログラム。
Linuxで上記のコマンドを設定する方法は?
最初にrootに切り替え、crontab -eと入力して編集および書き込みを行います* / 5 **** php /data/static/index.php
次に、tail -f /var/log/cron.logコマンドを使用して、プログラム実行のログを表示します(実行プロセスを表示します)
5.部分的な動的ケースの実現:
ajaxテクノロジーを使用して、以下を実現します。
$ .ajax({
'url': '動的パス'、
'type': 'get / post'、//送信メソッド
'dataType': 'json'、//返されるデータ型
「エラー」:function(){}、
「成功」:関数(結果)
{
html = '';
//各関数を使用してトラバースします
$ .each(result.data、fuction(key、value)
{
html + = ..........ここでは、たとえば、liをループします
//次に、特定の領域に配置するID値を検索または設定します
$( "#a")。html(html);
});
}
})
6. PHP処理の疑似静的:
確率:動的URLを静的URLに変換します(本質的には動的アドレスです)
機能:美しく、データ収集などに役立つ
2つの処理方法があります。
1つ目:通常の試合
最初にグローバル変数$ _SERVERをphpに出力すると、ドメイン名の背後にあるアドレスであるPATH_INFOが表示されます。次に、regularを使用して一致させます。
preg_math( "通常のルール"、$ _SERVER ['PATH_INFO']);