偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

內(nèi)嵌式的語言PHP應(yīng)用技巧七則

開發(fā) 后端
我們都知道PHP是一種HTML內(nèi)嵌式的語言。本文介紹了在應(yīng)用PHP時(shí)的一些小技巧,希望對(duì)你有幫助,一起來看。

PHP (Hypertext Preprocessor)是一種 HTML 內(nèi)嵌式的語言,也是目前比較流行的網(wǎng)頁編程語言。它支持的后端數(shù)據(jù)庫種類凡多,幾乎含蓋了當(dāng)前的所有數(shù)據(jù)庫系統(tǒng)。同時(shí)它包含了一般語言有的數(shù)學(xué)運(yùn)算、時(shí)間處理、文件系統(tǒng)、字符串處理、行程處理等功能,再加上它是免費(fèi)的系統(tǒng),使得成本與效益比,幾乎等于無限大。

下面是我在用PHP做網(wǎng)站時(shí),總結(jié)出一些小技巧,拿出來饗以大家。

1、判斷某個(gè)函數(shù)是否被支持

由于在PHP中我們可以靈活的使用增加或者減少php支持的模塊,所以有的時(shí)候我們在使用PHP之前,總是會(huì)首先確定某個(gè)模塊是否被加載,比如,看看GD圖形模塊是否被支持,可以用下面的這段代碼:

  1. if(!function_exists("imagecreate"))   
  2. ?> 

同樣的道理,我們可以利用類似的代碼,測試 MSSQL,OCI等模塊是否被支持。

2、在字符串中把網(wǎng)址改成超級(jí)鏈接

在網(wǎng)頁中提交表單時(shí),經(jīng)常在提交的說明文本中出現(xiàn)一些網(wǎng)址,比如個(gè)人主頁等信息,如果在顯示時(shí)自動(dòng)將其轉(zhuǎn)為超級(jí)鏈接,那將是一件很愜意的事,就像用WORD編輯文檔時(shí)自動(dòng)出現(xiàn)超級(jí)鏈接一樣。下面這段代碼就很好的實(shí)現(xiàn)了其功能。

  1. $string = "連接賽迪網(wǎng) 站點(diǎn)";  
  2. //注:連接后需要有個(gè)空格或回車。  
  3. $string = eregi_replace("http://([^ ,rn]*)","<a href= tarrget=_blank></a>",$string);  
  4. $string = eregi_replace("ftp://([^ ,rn]*)","<a href= target=_blank></a>",$string);  
  5. print $string;  
  6. ?> 

 

3、用PHP處理多個(gè)同名復(fù)選框

如果一個(gè)表單中有多個(gè)同名復(fù)選框,在提交到php時(shí)卻只有一個(gè)值,而并不像asp那樣是一串用逗號(hào)分割的值。解決的方法是利用數(shù)組。將復(fù)選框的name后面加上[],例如: 改為:。這樣php將得到一個(gè)叫pp的陣列。在提交的表單中先用Count(pp)來判斷數(shù)組的個(gè)數(shù)即選中的個(gè)數(shù),然后對(duì)數(shù)組進(jìn)行分別處理就行了.

同樣的道理也適應(yīng)于處理下拉框的多選問題。

4、利用static實(shí)現(xiàn)表格的顏色隔行顯示

我們用PHP從數(shù)據(jù)庫查詢數(shù)據(jù),并將結(jié)果輸出到瀏覽器上,如果結(jié)果有很多行,表格的bgcolor(背景色)如果全是單色的,瀏覽者會(huì)感覺不太舒服。那么怎樣做使表格各行的顏色不同呢?請(qǐng)看下面代碼:

  1. function getcolor()  
  2. {  
  3. static $colorvalue;//定義一個(gè)靜態(tài)變量  
  4. if($colorvalue=="#eeeeee")  
  5. $colorvalue="#F5F5F5";  
  6. else $colorvalue="#eeeeee";  
  7. return($colorvalue);  
  8. }  
  9. print("<table border=1>n");//下面輸出10行  
  10. for($i=0;$i<10;$i++)  
  11. {  
  12. $bcolor=getcolor();//換背景顏色  
  13. print("<tr bgcolor=$bcolor>n");  
  14. print("<td>$i</td>n");  
  15. print("</tr>");  
  16. }  
  17. print("</table>n");  
  18. ?> 

說明:

此程序中定義了一個(gè)靜態(tài)變量static $colorvalue意思是在函數(shù)調(diào)用結(jié)束后,此變量$colorvalue還保留值,沒有消失。當(dāng)再次調(diào)用getcolor()函數(shù)時(shí),變量$colorvalue的值是上次函數(shù)調(diào)用結(jié)束時(shí)$colorvalue的值。

5、在php中避免重復(fù)引用的辦法

大家知道,在C語言中,我們可以用#define來定義一個(gè)MACRO名字,通過檢查是否該MACRO名字定義過來決定該頭文件是否被引用。在PHP中也有同樣的問題,比如:A引用B,C, B引用C,如果不采取措施,C將被引用2次。這樣可能會(huì)導(dǎo)致一些奇怪的問題。解決辦法:定義一個(gè)全局變量,并且通過檢查該變量是否定義過來解決這個(gè)問題.辦法很簡單,類似C。 只是這個(gè)全局變量我建議都用["user_packages"] ["headfilename"]的命名規(guī)則。

  1. if (!emptyempty($GLOBALS["FOODTAILS"]["GLOBALDEFINE"])) return;  
  2. $GLOBALS["FOODTAILS"]["GLOBALDEFINE"] = true;  
  3. class FOODTAILS ;  
  4. ?> 

另外,在主程序中盡量采用require_once "headfiles.php"; 以避免重復(fù)引用。

6、如何避免表單的重復(fù)提交

我們在做網(wǎng)站時(shí),常常為一些灌水文章而煩惱。有時(shí),由于網(wǎng)絡(luò)狀況等原因用戶不知道提交是否成功,也會(huì)再次提交同一份表單,這就造成了表單的重復(fù)提交不起。有一個(gè)簡單的方法可以避免同一表單的重復(fù)提交。 首先,先定義一個(gè)session變量用來保存一個(gè)表單的提交序列號(hào)。這里我定義為“$userLastAction”。然后在表單里加入一個(gè)hidden變量,把值設(shè)為$userLastAction+1:> ***,在處理提交之前判斷表單是否已被提交過。

  1. if($lastAction>$userLastAction){  
  2. $userLastAction++; // 序列號(hào)加1  
  3. // 處理表單數(shù)據(jù)  
  4. }  
  5. ?> 

這個(gè)技巧的主要原理是不允許用戶回退后再次提交,也就是說回退后修改再提交也是不允許的,但是還是不能避免Ctrl-C/Ctrl-V的灌水辦法。

7、下載文件的下載次數(shù)回填

我們在下載軟件時(shí),經(jīng)常會(huì)看到此軟件的下載統(tǒng)計(jì)次數(shù),而這些統(tǒng)計(jì)數(shù)給網(wǎng)站管理員分析軟件的受歡迎程度帶來了方便。其實(shí)現(xiàn)原理是:在后端數(shù)據(jù)庫中存放軟件的唯一標(biāo)識(shí)和下載數(shù),在用戶下載軟件時(shí),首先更新對(duì)應(yīng)軟件的下載次數(shù)即下載次數(shù)加1,然后再到下載文件上正式開始下載。請(qǐng)看下面的實(shí)現(xiàn)代碼:

a、先建一數(shù)據(jù)表download (后端用MySql)

download表中含有下列兩個(gè)字段:

id 下載的文件的唯一標(biāo)識(shí)

downnum 下載次數(shù),默認(rèn)值為0

b、實(shí)現(xiàn)

假設(shè)已經(jīng)從數(shù)據(jù)庫取出:描述文件名 五筆字型 ;下載文件名:wbzx.zip ;標(biāo)識(shí)號(hào)id值為2

處理后生成的超級(jí)鏈接代碼為:

五筆字型

下面的代碼download.php處理下載次數(shù)累計(jì)及根據(jù)傳遞的文件名定位下載文件。

  1. //連接Mysql數(shù)據(jù)庫代碼略  
  2. $res=mysql_query("update download set downnum=(downnum+1) where id="$id"" ,$db);  
  3. header("location:$filename");  
  4. ?> 

 【編輯推薦】

  1. PHP正則表達(dá)式 PHP中的正則函數(shù)
  2. PHP程序員突破成長瓶頸
  3. PHP開發(fā)必備 PHP持續(xù)集成工具介紹(上)
  4. PHP開發(fā)必備 PHP持續(xù)集成工具介紹(下)
  5. 高手傳經(jīng) 學(xué)習(xí)PHP重在堅(jiān)持
責(zé)任編輯:于鐵 來源: 中國IT實(shí)驗(yàn)室
相關(guān)推薦

2014-10-15 14:11:14

思科UCS

2011-05-19 13:15:44

PHP

2011-05-31 14:48:31

PHP

2009-11-17 16:53:24

PHP遞歸算法

2010-03-31 15:08:28

CentOS系統(tǒng)

2009-03-17 17:29:48

2012-04-09 11:29:55

ibmdw

2011-01-04 18:04:49

PHP

2011-03-25 13:55:17

PHP開源數(shù)據(jù)庫

2011-03-18 08:36:59

PHP

2009-08-25 09:54:36

PHP正則表達(dá)式

2011-05-30 13:15:05

PHP

2009-12-11 17:57:13

PHP應(yīng)用JSON

2013-11-01 10:41:52

Windows 8.1應(yīng)用技巧

2011-05-19 10:26:32

PHP

2011-02-18 10:56:12

PHP

2009-11-30 09:35:15

PHP遞歸算法

2014-01-08 18:32:09

CES

2009-08-21 15:33:56

應(yīng)用技巧嵌入式LinuxLinux操作系統(tǒng)

2011-03-21 15:39:31

LAMPPHPSQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)