關於PHP你可能不知道的10件事

2021-08-27 12:01:03 字數 1290 閱讀 3087

1.使用ip2long() 和long2ip()函式來把ip位址轉化成整型儲存到資料庫裡。

這種方法把儲存空間降到了接近四分之一(char(15)的15個位元組對整形的4個位元組),計算乙個特定的位址是不是在乙個區段內頁更簡單了,而且加快了搜尋和排序的速度(雖然有時僅僅是快了一點)。

2.在驗證email位址的時候使用checkdnsrr() 函式驗證網域名稱是否存在。

3.如果你使用的是php 5和mysql 4.1 或者更高的版本,考慮用mysqli_* 系列函式。

乙個很好的功能就是你可以使用預處理語句,如果你在維護乙個資料庫密集型站點,這個功能能夠加快查詢速度。一些評估分數。

4.學會愛上三元運算子。

5.如果你在專案中感覺到有可復用的部分,在你寫下一行**前先看看pear中是否已經有了。

6.用 highlight_file()來自動的列印出格式化的很漂亮的源**。

7.使用 error_reporting(0)函式來防止使用者看到潛在的敏感錯誤資訊。

在理想情況下,發布伺服器應該在php.ini 裡完全禁止。但是如果你用的是乙個共享的 web 伺服器的話,你沒有自己的 php.ini 檔案,那麼這種情況下你最好的選擇就是在所有指令碼的第一行前加上 error_reporting(0);(或者使用 require_once() 方法)。這就能夠在出錯的時候完全遮蔽敏感的sql查詢語句和路徑名。

8.在網資料庫中儲存很大的字串之前使用 gzcompress() 和 gzuncompress() 來顯式的壓縮/解壓字串。

這個php內建函式使用 gzip 演算法,可以壓縮普通文字達 90%。在我每次要讀寫blob型別的字段的時候都使用這些函式。唯一額例外就是當我需要全文檢索的時候。

9.通過「引用」傳遞引數的方法從乙個函式中得到多個返回值。

就像三元運算子一樣,大部分受過正式程式設計訓練的程式設計師都知道這個技巧。但是那些 html 背景大於 pascal 背景的程式設計師都或多或少的有過這樣的疑問「在僅能使用一次 return 的情況下,從乙個函式裡返回多個值?」答案就是在變數前加上乙個 「&」 符號,通過「引用」傳遞而非「值」傳遞。

10.完全理解「魔術引號」和 sql 注入的危險性。

我希望閱讀到這裡的開發者都已經很對sql注入很了解了。不過我還是把這條列在這裡,是因為這個確實有點難以理解。

關於PHP你可能不知道的10件事

1.使用ip2long 和long2ip 函式來把ip位址轉化成整型儲存到資料庫裡。7 l6 i3 j6 h4 q 這種方法把儲存空間降到了接近四分之一 char 15 的15個位元組對整形的4個位元組 計算乙個特定的位址是不是在乙個區段內頁更簡單了,而且加快了搜尋和排序的速度 雖然有時僅僅是快了一...

關於xargs,你可能不知道的

by yuanyi published 2011 07 18 如果你曾經花了許多時間在unix命令列上,那麼或許你已經見過xargs了,如果你還沒聽過xargs,那就先讓我來解釋下,xargs是乙個從標準輸入或許引數並執行命令的程式。常見使用 我常常見到將find和xargs組合使用以對find返回...

你可能不知道的東西

元素可以分為塊級元素,行內元素以及行內塊級元素。行內元素的margin或者padding只有margin left和margin right以及padding left和padding right有效果,margin top margin bottom padding top padding bot...