PHPはページの静的な知識を実現します

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']);

    2番目の種類:Apacheでリライトを構成して疑似静的URLを実現する
      設定する設定でhttpd_vhosts.confを見つけます
      
           黄色の領域はルールに一致するように設定されています。疑似静的ファイルが返されたときにパスを指定したファイルに、疑似静的ファイルと同じパスと同じ名前のファイルが返された場合、この疑似静的ファイルは実行されますか?それでも単独で存在する静的ファイルを実行します。現時点では、上記の2行の青色設定がオンになっている場合、この事実に存在する静的ファイルのみが返されます。


公開された14元の記事 ウォンの賞賛3 ビュー2029

おすすめ

転載: blog.csdn.net/energy_tank/article/details/46885919