當前位置:才華齋>計算機>php語言>

PHP專案開發中最常用的自定義函式整理

php語言 閱讀(2.52W)

PHP專案開發中最常用的`自定義函式,php開發中,經常需要用到的。其實很多成熟的cms系統中都有的。

PHP專案開發中最常用的自定義函式整理

以下是文章正文:

<?php

  //alert提示

function alert($msg){

echo "<script>alert('$msg');</script>";

}

//把一些預定義的字元轉換為 HTML 實體

function d_htmlspecialchars($string) {

if(is_array($string)) {

foreach($string as $key => $val) {

$string[$key] = d_htmlspecialchars($val);

}

} else {

$string = str_replace('&', '&', $string);

$string = str_replace('"', '"', $string);

$string = str_replace(''', ''', $string);

$string = str_replace('<', '<', $string);

$string = str_replace('>', '>', $string);

$string = preg_replace('/&(#d;)/', '&1', $string);

}

return $string;

}

//在預定義字元前加上反斜槓,包括 單引號、雙引號、反斜槓、NULL,以保護資料庫安全

function d_addslashes($string, $force = 0) {

if(!$GLOBALS['magic_quotes_gpc'] || $force) {

if(is_array($string)) {

foreach($string as $key => $val) $string[$key] = d_addslashes($val, $force);

}

else $string = addslashes($string);

}

return $string;

}

//生成隨機字串,包含大寫、小寫字母、數字

function randstr($length) {

$hash = '';

$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';

$max = strlen($chars) - 1;

mt_srand((double)microtime() * 1000000);

for($i = 0; $i < $length; $i++) {

$hash .= $chars[mt_rand(0, $max)];

}

return $hash;

}

//轉換時間戳為常用的日期格式

function trans_time($timestamp){

if($timestamp < 1) echo '無效的Unix時間戳';

else return date("Y-m-d H:i:s",$timestamp);

}

//獲取IP

function get_ip() {

if ($_SERVER["HTTP_X_FORWARDED_FOR"])

$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];

else if ($_SERVER["HTTP_CLIENT_IP"])

$ip = $_SERVER["HTTP_CLIENT_IP"];

else if ($_SERVER["REMOTE_ADDR"])

$ip = $_SERVER["REMOTE_ADDR"];

else if (getenv("HTTP_X_FORWARDED_FOR"))

$ip = getenv("HTTP_X_FORWARDED_FOR");

else if (getenv("HTTP_CLIENT_IP"))

$ip = getenv("HTTP_CLIENT_IP");

else if (getenv("REMOTE_ADDR"))

$ip = getenv("REMOTE_ADDR");

else

$ip = "Unknown";

return $ip;

}

//計算時間差:預設返回型別為“分鐘”

//$old_time 只能是時間戳,$return_type 為 h 是小時,為 s 是秒

function timelag($old_time,$return_type='m'){

if($old_time < 1){

echo '無效的Unix時間戳';

}else{

switch($return_type){

case 'h':

$type = 3600; break;

case 'm':

$type = 60; break;

case 's':

$type = 1; break;

case '':

$type = 60; break;

}

$dif = round( (time()-$old_time)/$type ) ;

return $dif;

}

}

//獲取當前頁面的URL地址

function url_this(){

$url = "http://".$_SERVER ["HTTP_HOST"].$_SERVER["REQUEST_URI"];

$return_url = "<a href='$url'>$url</a>";

return $return_url;

}

//跳轉函式

function url_redirect($url,$delay=''){

if($delay == ''){

echo "<script>='$url'</script>";

}else{

echo "<meta http-equiv='refresh' content='$delay;URL=$url' />";

}

}

} //end func

?>