熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

Linux下的編程 PHP高級技巧全放送(一)

2022-06-13   來源: PHP編程 

  全球超過萬個互聯網網站的管理員都在使用PHP使得它成為最為普及的服務器端腳本語言之一其特點是運行速度快穩定可靠跨平台而且是開放源代碼軟件隨你使用的水平不同PHP可以很簡單也可以很復雜可以只使用它發送HTML表格元素還可以在PHP應用程序中集成Java和XML
  
  如果你對PHP有一定的了解或者看過一些初步的教材這些技巧可以擴展你對PHP的認識使你掌握一些常見的和高級的PHP功能
  
  本文主要介紹以下十大PHP高級技巧把PHP安裝為Apache的DSO 使用PHP本身的對話文件是我們的朋友PHP和文件系統的維護豐富的數組函數動態圖像的創建基於PHP的用戶認證PHP和COMPHP和JavaPHP和XML
  
  把PHP安裝為Apache的DSO
  
  PHP在Linux/Unix平台上經常與Apache搭配使用在安裝PHP時有三種安裝方式可供選擇靜態模式動態模式(DSO)CGI二進制模式
  
  由於易於維護和升級我強烈建議以DSO方式安裝PHP例如初次安裝時如果安裝的PHP僅支持數據庫隨後希望再安裝支持加密的模塊只要運行make clean添加新的配置選項然後再運行makemake install即可一個新的PHP模塊就會安裝在Apache中適當的位置上然後重新啟動Apache而無需重新編譯Apache
  
  下面的步驟將安裝一個全新的Apache並以DSO方式安裝PHP
  
  從Apache軟件基金會得到最新版本的Apache源代碼
  
  把得到的源代碼放到/usr/local/或者/opt/目錄下或者你指定的任意目錄中
  
  運行Gunzip對文件進行解壓縮得到後綴為tar的文件
  
  運行下面的命令把文件安裝到apache_[version]目錄中
  tar xvf apache_[version]tar
  
  進入/usr/local/apache_[version]目錄(或者在步驟中安裝壓縮文件的目錄)
  
  鍵入下面的命令為編譯Apache作准備用你自己的路徑替換其中的[path]例如/usr/local/apache[version]現在已經設置了mod_so的新值它將允許Apache使用DSO模塊
  
  回到提示符狀態後鍵入make並等待再次回到提示符狀態
  
  執行make install命令
  
  至此Apache已經安裝完畢系統將重回到提示符狀態接下來我們開始安裝PHP
  
  在PHP主頁的下載區中找到最新版本的鏈接
  
  把文件下載到一個適當的目錄中例如/usr/local/或/opt/或者你指定的任意目錄中
  
  運行Gunzip對文件進行解壓縮得到後綴為tar的文件
  
  執行下面的命令把文件安裝在php[version]目錄中
  tar xvf php[version]
  
  進入/usr/local/php[version]目錄或在步驟中指定的目錄
  
  至此已經作好了以DSO方式安裝PHP的准備工作唯一需要修改的配置選項是withapxs(這是Apache的bin目錄中的一個文件)為了得到較高的性能我沒有安裝對MySQL的支持模塊
  
  /configure withmysql=/[path to mysql] withapxs=/[path to apxs]
  
  回到提示符狀態後執行make命令等待重新返回到提示符狀態
  
  執行make install命令
  
  至此系統以DSO方式在Apache的模塊目錄中安裝了PHP並對Apache的文件作適當的修改後返回到提示符狀態回到提示符狀態後你還需要對Apache的文件作一些修改
  
  找到包含有ServerAdmin的一行添加你的電子郵件地址如下所示
  ServerAdmin
  
  找到以ServerName開頭的行把它改為真正的值例如
  ServerName localhost
  
  找到內容如下所示的小節
  # And for PHP x use:
  #
  #AddType application/x
  #AddType application/xs
  
  修改這些行的內容使PHP 的AddType不再成為注釋並添加希望在PHP中使用的文件後綴名上面的內容變為如下所示的內容
  # And for PHP x use:
  #
  AddType application/x phtml
  AddType application/xs
  
  保存文件回到上一級目錄執行下面的命令重新啟動Apache
  /bin/apachectl start
  
  如果在啟動時沒有出現錯誤提示信息就可以通過創建一個名為phpinfophp的只有如下所示一行內容的文件對安裝的ApachePHP進行測試
  <? phpinfo() ?>
  
  把這個文件保存到Apache的文檔根目錄(htdocs)中然後開啟浏覽器鍵入地址屏幕上就會出現許多的變量和它們的值
  
  如果要重新配置PHP需要再次運行make clean命令然後執行帶有一系列選項的/configure命令然後再執行make和make install命令Apache的目錄模塊中就會出現一個新的模塊只要再重新啟動Apache加載這個新的模塊就一切OK了
  
  使用PHP本身的對話
  
  PHP 中最令人興奮的特性應該是對對話的支持PHP 的用戶必須使用第三方的軟件否則就不能使用對話不支持對話一直是PHP最大的缺憾之一
  
  只要用戶在浏覽你的網站你就可以利用對話維護與特定用戶有關的變量而無需建立多個cookie使用隱藏表格字段或將信息存儲在數據庫中
  
  在一個網頁上啟動一個對話就會使PHP引擎知道你想啟動一個對話(如果還沒有啟動)或者繼續當前的對話
  session_start();
  
  啟動一個對話將通過cookie向用戶發送一個識別字符串(例如fbadcccaead在服務器端會創建一個與識別字符串匹配的臨時文件例如sess_fbadcccaead這個文件中包含注冊的對話變量以及它們的值
  
  用來顯示對話的作用的最常見的例子是訪問計數器啟動PHP模塊確保PHP代碼是文件的第一行在PHP代碼之前不要有空格HTML代碼和其他的代碼因為對話會發送一個頭部因此如果在session_start()之前有空格和HTML代碼就會得到一個出錯信息
  <?
  // 如果還不存在一個針對某用戶的用戶則啟動一個對話
  session_start();
  
  然後注冊一個名字為count的變量
  session_register(count);
  
  注冊一個對話變量後只要對話存在名字為count的變量也就存在現在count變量還沒有被賦值如果對它執行加操作它的值就變為了
  
  $count++;
  
  把上述內容綜合在一塊兒如果還沒有啟動一個對話就會啟動一個對話如果不存在一個對話id就為用戶指定一個好了注冊一個名字為$count的變量對$count執行加操作表示用戶已經首次訪問了該網頁
  
  要知道用戶在當前的對話中訪問本頁面的次數只要顯示$count變量的值即可
  echo <P>Youve been here $count times</p>;
  
  全部的訪問計數器代碼如下所示
  
  <?
  session_start();
  session_register(count);
  $count++;
  echo <P>Youve been here $count times</p>;
  ?>
  
  如果重新加載上述的腳本文件就會發現變量count的值增加了很酷吧
  
  還可以在對話中注冊一個數組變量假設我們注冊了一個名字為$faves的變量
  $faves = array (chocolatecoffeebeerlinux);
  
  可以象注冊一個簡單變量那樣注冊一個數組變量
  session_register(faves);
  
  引用數組變量與引用簡單變量沒有什麼二樣如果一個用戶在網頁上指出在生活中的愛好時可以把他的愛好注冊到一個被稱作$faves的數組變量中然後可以在另一個網頁中很方便地把這些愛好顯示出來
  <?
  session_start();
  echo My user likes:
  <ul>;
  while (list($v) = each ($faves)) {
  echo <li>$v; }
  echo </ul>;
  ?>
  
  然後你就得到了一個關於用戶愛好的清單
  
  對話變量不能被查詢字符串覆蓋也就是說我們不能輸入?count=給注冊變量$count指定一個新值這一點對於安全很重要只能在服務器端的腳本中刪除一個沒有注冊的對話變量
  
  如果要完全刪除一個對話變量首先需要從系統中注銷它
  session_unregister(count);
  
  要完全刪除一個對話變量的腳本是非常簡單如下所示
  session_destroy();
  
  使用對話變量可以減少訪問數據庫的頻率使代碼更加清晰而且可以減少對用戶發送的cookie的數量它是最簡單的方法了
  
  文件是我們的朋友
  
  無論你在開發的網站規模的大小都應該意識到代碼重用的重要性無論這些代碼是HTML還是PHP代碼例如你必須至少每年改變一次包含版權信息的頁腳如果你的網站含有個頁面每年修改一次也是個很煩人的事兒
  
  在PHP中至少有幾個函數可以幫助你實現代碼重用的目的所使用的函數取決於你所重用的代碼主要的函數有
  * include() and include_once()
  * require() and require_once()
  
  include()函數包含並對給定的文件進行計算例如
  include(/
From:http://tw.wingwit.com/Article/program/PHP/201311/20827.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.