前段時間總結的一些函數都是一些字符串的處理函數,現在總結的這些都是一些功能類型的函數。還是那句話,函數是基礎,文章本天成,妙手偶得之。這些函數有機的組合可以實現任何的功能。關鍵是不要侷限於自己的一個小天地,要在實現功能的基礎上,探索更好的實現方式。不斷的完善自己的程序。
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) 2的16次方
18、range(0,100) 創建指定範圍的數組
19、shuffle(array)將數組打亂 這個有的時候很好用
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_pop(array)獲取數組的最後一個元素,只統計第一層
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();
?>
29、set_time_limit()設置php的最大執行時間 默認30秒