ホームページ  >  記事  >  バックエンド開発  >  PHPプロジェクト開発でよく使われるカスタム関数コードのまとめ

PHPプロジェクト開発でよく使われるカスタム関数コードのまとめ

伊谢尔伦
伊谢尔伦オリジナル
2017-06-26 09:56:561213ブラウズ

 PHP项目开发中最常用的自定义函数,php开发中,经常需要用到的。其实很多成熟的cms系统中都有的。

  <?php
  //alert提示
  function alert($msg){
  echo "<script>alert(&#39;$msg&#39;);</script>";
  }
  //把一些预定义的字符转换为 HTML 实体
  function d_htmlspecialchars($string) {
  if(is_array($string)) {
  foreach($string as $key => $val) {
  $string[$key] = d_htmlspecialchars($val);
  }
  } else {
  $string = str_replace(&#39;&&#39;, &#39;&&#39;, $string);
  $string = str_replace(&#39;"&#39;, &#39;"&#39;, $string);
  $string = str_replace(&#39;&#39;&#39;, &#39;&#39;&#39;, $string);
  $string = str_replace(&#39;<&#39;, &#39;<&#39;, $string);
  $string = str_replace(&#39;>&#39;, &#39;>&#39;, $string);
  $string = preg_replace(&#39;/&(#\d;)/&#39;, &#39;&\1&#39;, $string);
  }
  return $string;
  }
  //在预定义字符前加上反斜杠,包括 单引号、双引号、反斜杠、NULL,以保护数据库安全
  function d_addslashes($string, $force = 0) {
  if(!$GLOBALS[&#39;magic_quotes_gpc&#39;] || $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 = &#39;&#39;;
  $chars = &#39;ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz&#39;;
  $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 &#39;无效的Unix时间戳&#39;;
  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=&#39;m&#39;){
  if($old_time < 1){
  echo &#39;无效的Unix时间戳&#39;;
  }else{
  switch($return_type){
  case &#39;h&#39;:
  $type = 3600; break;
  case &#39;m&#39;:
  $type = 60; break;
  case &#39;s&#39;:
  $type = 1; break;
  case &#39;&#39;:
  $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=&#39;$url&#39;>$url</a>";
  return $return_url;
  }
  //跳转函数
  function url_redirect($url,$delay=&#39;&#39;){
  if($delay == &#39;&#39;){
  echo "<script>window.location.href=&#39;$url&#39;</script>";
  }else{
  echo "<meta http-equiv=&#39;refresh&#39; content=&#39;$delay;URL=$url&#39; />";
  }
  }
  } //end func
  ?>

以上がPHPプロジェクト開発でよく使われるカスタム関数コードのまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。