Php中一些好用的函數(二)

張存超php技術博客

前段時間總結的一些函數都是一些字符串的處理函數,現在總結的這些都是一些功能類型的函數。還是那句話,函數是基礎,文章本天成,妙手偶得之。這些函數有機的組合可以實現任何的功能。關鍵是不要侷限於自己的一個小天地,要在實現功能的基礎上,探索更好的實現方式。不斷的完善自己的程序。

1、$_SERVER['HTTP_HOST'] 獲取訪問域名

這個函數的作用是隻獲取域名,不會包含後面的文件路徑

$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"] 是輸出的地址欄信息,之前我們做的一個手機站,就是通過綁定域名,來用一個系統調用不同的數據信息。

2.$_SERVER['HTTP_USER_AGENT'] 獲取文件的頭信息

這個頭信息包括你所有的操作系統,瀏覽器,版本等等。我們就是通過這個函數來讓網站實現手機站和普通站的跳轉的。

3、mkdir(‘路徑‘);創建文件夾 Copy(‘舊路徑‘,’新路徑‘) 複製文件

Rename(‘舊路徑‘,’新路徑‘); 重命名文件夾, unlink(‘刪除文件‘);這四個函數最好用@註釋警告。這四個函數組合可以實現非常強大的功能,比如網站每開一個用戶,就給他一個獨立的模板,就可以通過複製公共模板來實現,當用戶修改了名字時用重命名,刪除時用unlink

4、list($width, $height) = getimagesize($filename);獲取圖片的寬和高。雖然GD庫也有專門的函數,但是還是php的函數更高效。這樣就可以對上傳圖片限制寬高等了。

5、這個是一個簡單的獲取真實ip的方法。可以封裝一下

$cip = getenv(‘REMOTE_ADDR’);

$cip1 = getenv(‘HTTP_CLIENT_IP’);

$cip2 = getenv(‘HTTP_X_FORWARDED_FOR’);

$cip1 ? $cip = $cip1 : null;

$cip2 ? $cip = $cip2 : null;

echo $cip;

6、$_SERVER[SCRIPT_FILENAME] 當前執行腳本路徑,包括所得到參數。

7、$_SERVER[QUERY_STRING]  問號後面的內容

8、$_SERVER['PHP_SELF']; 域名後的內容,不包括參數

9、$_SERVER['HTTP_REFERER'] 來路頁面,這個很有用,尤其是做統計的時候,但也要保證有來路頁面而非直接訪問,不然就@一下。前面所有的$_SERVER=getenv

10、round() 獲取四捨五入後的值

11、有的時候點擊後退後,之前表單寫的東西都不見了,這是因爲開啓了session的原因。解決辦法是在session_start();之前加一個session_cache_limiter(‘private, must-revalidate’);

<?php

session_cache_limiter(‘private, must-revalidate’);

session_start();

………..

……….

?>

12、解析計算

$str = ’1+1′;

eval(“\$o=$str;”);

13、去掉html樣式

echo strip_tags($str);

htmlentities去掉html樣式,原樣輸出就是讓瀏覽器不解析裏面的html標籤

14、輸出帶有微秒的時間戳 microtime(true);

15、獲取路徑中的中文部分 basename(路徑);

因爲有的時候路徑中有中文會有錯誤,可以用urlencode($filename);//轉碼,將中文轉換成%數,將空格轉換爲+。空格爲%20

16、獲取內存使用量 memory_get_usage()

17、pow(2,16) 216次方

18、range(0,100) 創建指定範圍的數組

19、shufflearray)將數組打亂 這個有的時候很好用

20、krsort(array) 將數組進行逆向排序,鍵保持關聯

21、$_FILES[filename][error] 存儲與文件上傳相關的錯誤代碼其返回值有5

0:表示沒有任何錯誤,文件上傳成功

1:便會上傳文件大小超出了php配置文件指令upload_max_filesize選項限制的值

2:表示上傳文件的大小超出了html表中max_file_sieze選項中所指定的值(input 

type=”hidden” name=”MAX_FILE_SIZE” value=”10000″ /)

3:表示文件只上傳了一部分

4:表示沒有上傳任何文件

22、array_unique()一維數組去重

23、 count(array[,1]) 統計數組元素的個數;可選參數1加上可以統計多維數組個數

24、array_poparray)獲取數組的最後一個元素,只統計第一層

25、array_search(needle,array) 搜索元素,獲得其鍵值,只去第一個(如果重複)

26、$zi = iconv(“gb2312″,”UTF-8″,”張存超“); 將文字由utf-8轉爲gb2312

27、修改SESSION的生存時間

28、其實 Session 還提供了一個函數session_set_cookie_params();來設置session的生存期的,該函數必須在session_start()之前調用,如:

<?php

$life_time = 24*3600;

Session_set_cookie_params($life_time);

Session_start();

?>

29set_time_limit()設置php的最大執行時間 默認30

發佈了29 篇原創文章 · 獲贊 11 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章