专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

php代码大全及其实例

来源:小易整编  作者:小易  发布时间:2023-01-04 02:50
摘要:对于WEB开发人员来说PHP基本是标配,其他的程序员也可能会编上几句PHP代码。今天给大家总结了33个实用的PHP代码片段,在用到时可以直接进行复制粘贴,非常方便。也可以用来丰富自己的代码库。...

对于WEB开发人员来说PHP基本是标配,其他的程序员也可能会编上几句PHP代码。今天给大家总结了33个实用的PHP代码片段,在用到时可以直接进行复制粘贴,非常方便。也可以用来丰富自己的代码库。

php代码大全及其实例

<?php
 
/**
 * 时间:0000-00-00
 * 作者:xx
 * 超级有用、必须收藏的PHP代码样例
 */
class Helper {
 
 /**
 * 友好显示var_dump
 */
 static public function dump($var, $echo = true, $label = null, $strict = true) {
 $label = ( $label === null ) ? '' : rtrim($label) . ' ';
 if (!$strict) {
 if (ini_get('html_errors')) {
 $output = print_r($var, true);
 $output = "<pre>" . $label . htmlspecialchars($output, ENT_QUOTES) . "</pre>";
 } else {
 $output = $label . print_r($var, true);
 }
 } else {
 ob_start();
 var_dump($var);
 $output = ob_get_clean();
 if (!extension_loaded('xdebug')) {
 $output = preg_replace("/\]\=\>\n(\s+)/m", "] => ", $output);
 $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
 }
 }
 if ($echo) {
 echo $output;
 return null;
 } else
 return $output;
 }
 
 /**
 * 获取客户端IP地址
 */
 static public function getClientIP() {
 static $ip = NULL;
 if ($ip !== NULL)
 return $ip;
 if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
 $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
 $pos = array_search('unknown', $arr);
 if (false !== $pos)
 unset($arr[$pos]);
 $ip = trim($arr[0]);
 } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
 $ip = $_SERVER['HTTP_CLIENT_IP'];
 } elseif (isset($_SERVER['REMOTE_ADDR'])) {
 $ip = $_SERVER['REMOTE_ADDR'];
 }
 // IP地址合法验证
 $ip = ( false !== ip2long($ip) ) ? $ip : '0.0.0.0';
 return $ip;
 }
 
 /**
 * 循环创建目录
 */
 static public function mkdir($dir, $mode = 0777) {
 if (is_dir($dir) || @mkdir($dir, $mode))
 return true;
 if (!mk_dir(dirname($dir), $mode))
 return false;
 return @mkdir($dir, $mode);
 }
 
 /**
 * 格式化单位
 */
 static public function byteFormat($size, $dec = 2) {
 $a = array("B", "KB", "MB", "GB", "TB", "PB");
 $pos = 0;
 while ($size >= 1024) {
 $size /= 1024;
 $pos++;
 }
 return round($size, $dec) . " " . $a[$pos];
 }
 
 /**
 * 下拉框,单选按钮 自动选择
 *
 * @param $string 输入字符
 * @param $param 条件
 * @param $type 类型
 * selected checked
 * @return string
 */
 static public function selected($string, $param = 1, $type = 'select') {
 
 if (is_array($param)) {
 $true = in_array($string, $param);
 } elseif ($string == $param) {
 $true = true;
 }
 if ($true)
 $return = $type == 'select' ? 'selected="selected"' : 'checked="checked"';
 
 echo $return;
 }
 
 /**
 * 获得来源类型 post get
 *
 * @return unknown
 */
 static public function method() {
 return strtoupper(isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET' );
 }
 
 /**
 * 提示信息
 */
 static public function message($action = 'success', $content = '', $redirect = 'javascript:history.back(-1);', $timeout = 4) {
 
 switch ($action) {
 case 'success':
 $titler = '操作完成';
 $class = 'message_success';
 $images = 'message_success.png';
 break;
 case 'error':
 $titler = '操作未完成';
 $class = 'message_error';
 $images = 'message_error.png';
 break;
 case 'errorBack':
 $titler = '操作未完成';
 $class = 'message_error';
 $images = 'message_error.png';
 break;
 case 'redirect':
 header("Location:$redirect");
 break;
 case 'script':
 if (empty($redirect)) {
 exit('<script language="javascript">alert("' . $content . '");window.history.back(-1)</script>');
 } else {
 exit('<script language="javascript">alert("' . $content . '");window.location=" ' . $redirect . ' "</script>');
 }
 break;
 }
 
 // 信息头部
 $header = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>操作提示</title>
<style type="text/css">
body{font:12px/1.7 "\5b8b\4f53",Tahoma;}
html,body,div,p,a,h3{margin:0;padding:0;}
.tips_wrap{ background:#F7FBFE;border:1px solid #DEEDF6;width:780px;padding:50px;margin:50px auto 0;}
.tips_inner{zoom:1;}
.tips_inner:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0;}
.tips_inner .tips_img{width:80px;float:left;}
.tips_info{float:left;line-height:35px;width:650px}
.tips_info h3{font-weight:bold;color:#1A90C1;font-size:16px;}
.tips_info p{font-size:14px;color:#999;}
.tips_info p.message_error{font-weight:bold;color:#F00;font-size:16px; line-height:22px}
.tips_info p.message_success{font-weight:bold;color:#1a90c1;font-size:16px; line-height:22px}
.tips_info p.return{font-size:12px}
.tips_info .time{color:#f00; font-size:14px; font-weight:bold}
.tips_info p a{color:#1A90C1;text-decoration:none;}
</style>
</head>
 
<body>';
 // 信息底部
 $footer = '</body></html>';
 
 $body = '<script type="text/javascript">
 function delayURL(url) {
 var delay = document.getElementById("time")[xss_clean];
 //alert(delay);
 if(delay > 0){
 delay--;
 document.getElementById("time")[xss_clean] = delay;
 } else {
 window.location.href = url;
 }
 setTimeout("delayURL(\'" + url + "\')", 1000);
 }
 </script><div class="tips_wrap">
 <div class="tips_inner">
 <div class="tips_img">
 <img src="' . Yii::app()->baseUrl . '/static/images/' . $images . '"/>
 </div>
 <div class="tips_info">
 
 <p class="' . $class . '">' . $content . '</p>
 <p class="return">系统自动跳转在 <span class="time" id="time">' . $timeout . ' </span> 秒后,如果不想等待,<a href="' . $redirect . '">点击这里跳转</a></p>
 </div>
 </div>
</div><script type="text/javascript">
 delayURL("' . $redirect . '");
 </script>';
 
 exit($header . $body . $footer);
 }
 
 /**
 * 查询字符生成
 */
 static public function buildCondition(array $getArray, array $keys = array()) {
 if ($getArray) {
 foreach ($getArray as $key => $value) {
 if (in_array($key, $keys) && $value) {
 $arr[$key] = CHtml::encode(strip_tags($value));
 }
 }
 return $arr;
 }
 }
 
 /**
 * base64_encode
 */
 static function b64encode($string) {
 $data = base64_encode($string);
 $data = str_replace(array('+', '/', '='), array('-', '_', ''), $data);
 return $data;
 }
 
 /**
 * base64_decode
 */
 static function b64decode($string) {
 $data = str_replace(array('-', '_'), array('+', '/'), $string);
 $mod4 = strlen($data) % 4;
 if ($mod4) {
 $data .= substr('====', $mod4);
 }
 return base64_decode($data);
 }
 
 /**
 * 验证邮箱
 */
 public static function email($str) {
 if (empty($str))
 return true;
 $chars = "/^([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}\$/i";
 if (strpos($str, '@') !== false && strpos($str, '.') !== false) {
 if (preg_match($chars, $str)) {
 return true;
 } else {
 return false;
 }
 } else {
 return false;
 }
 }
 
 /**
 * 验证手机号码
 */
 public static function mobile($str) {
 if (empty($str)) {
 return true;
 }
 
 return preg_match('#^13[\d]{9}$|14^[0-9]\d{8}|^15[0-9]\d{8}$|^18[0-9]\d{8}$#', $str);
 }
 
 /**
 * 验证固定电话
 */
 public static function tel($str) {
 if (empty($str)) {
 return true;
 }
 return preg_match('/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/', trim($str));
 }
 
 /**
 * 验证qq号码
 */
 public static function qq($str) {
 if (empty($str)) {
 return true;
 }
 
 return preg_match('/^[1-9]\d{4,12}$/', trim($str));
 }
 
 /**
 * 验证邮政编码
 */
 public static function zipCode($str) {
 if (empty($str)) {
 return true;
 }
 
 return preg_match('/^[1-9]\d{5}$/', trim($str));
 }
 
 /**
 * 验证ip
 */
 public static function ip($str) {
 if (empty($str))
 return true;
 
 if (!preg_match('#^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$#', $str)) {
 return false;
 }
 
 $ip_array = explode('.', $str);
 
 //真实的ip地址每个数字不能大于255(0-255)
 return ( $ip_array[0] <= 255 && $ip_array[1] <= 255 && $ip_array[2] <= 255 && $ip_array[3] <= 255 ) ? true : false;
 }
 
 /**
 * 验证身份证(中国)
 */
 public static function idCard($str) {
 $str = trim($str);
 if (empty($str))
 return true;
 
 if (preg_match("/^([0-9]{15}|[0-9]{17}[0-9a-z])$/i", $str))
 return true;
 else
 return false;
 }
 
 /**
 * 验证网址
 */
 public static function url($str) {
 if (empty($str))
 return true;
 
 return preg_match('#(http|https|ftp|ftps)://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?#i', $str) ? true : false;
 }
 
 /**
 * 根据ip获取地理位置
 * @param $ip
 * return :ip,beginip,endip,country,area
 */
 public static function getlocation($ip = '') {
 $ip = new XIp();
 $ipArr = $ip->getlocation($ip);
 return $ipArr;
 }
 
 /**
 * 中文转换为拼音
 */
 public static function pinyin($str) {
 $ip = new XPinyin();
 return $ip->output($str);
 }
 
 /**
 * 拆分sql
 *
 * @param $sql
 */
 public static function splitsql($sql) {
 $sql = preg_replace("/TYPE=(InnoDB|MyISAM|MEMORY)( DEFAULT CHARSET=[^; ]+)?/", "ENGINE=\\1 DEFAULT CHARSET=" . Yii::app()->db->charset, $sql);
 $sql = str_replace("\r", "\n", $sql);
 $ret = array();
 $num = 0;
 $queriesarray = explode(";\n", trim($sql));
 unset($sql);
 foreach ($queriesarray as $query) {
 $ret[$num] = '';
 $queries = explode("\n", trim($query));
 $queries = array_filter($queries);
 foreach ($queries as $query) {
 $str1 = substr($query, 0, 1);
 if ($str1 != '#' && $str1 != '-')
 $ret[$num] .= $query;
 }
 $num++;
 }
 return ($ret);
 }
 
 /**
 * 字符截取
 *
 * @param $string
 * @param $length
 * @param $dot
 */
 public static function cutstr($string, $length, $dot = '...', $charset = 'utf-8') {
 if (strlen($string) <= $length)
 return $string;
 
 $pre = chr(1);
 $end = chr(1);
 $string = str_replace(array('&', '"', '<', '>'), array($pre . '&' . $end, $pre . '"' . $end, $pre . '<' . $end, $pre . '>' . $end), $string);
 
 $strcut = '';
 if (strtolower($charset) == 'utf-8') {
 
 $n = $tn = $noc = 0;
 while ($n < strlen($string)) {
 
 $t = ord($string[$n]);
 if ($t == 9 || $t == 10 || ( 32 <= $t && $t <= 126 )) {
 $tn = 1;
 $n++;
 $noc++;
 } elseif (194 <= $t && $t <= 223) {
 $tn = 2;
 $n += 2;
 $noc += 2;
 } elseif (224 <= $t && $t <= 239) {
 $tn = 3;
 $n += 3;
 $noc += 2;
 } elseif (240 <= $t && $t <= 247) {
 $tn = 4;
 $n += 4;
 $noc += 2;
 } elseif (248 <= $t && $t <= 251) {
 $tn = 5;
 $n += 5;
 $noc += 2;
 } elseif ($t == 252 || $t == 253) {
 $tn = 6;
 $n += 6;
 $noc += 2;
 } else {
 $n++;
 }
 
 if ($noc >= $length) {
 break;
 }
 }
 if ($noc > $length) {
 $n -= $tn;
 }
 
 $strcut = substr($string, 0, $n);
 } else {
 for ($i = 0; $i < $length; $i++) {
 $strcut .= ord($string[$i]) > 127 ? $string[$i] . $string[++$i] : $string[$i];
 }
 }
 
 $strcut = str_replace(array($pre . '&' . $end, $pre . '"' . $end, $pre . '<' . $end, $pre . '>' . $end), array('&', '"', '<', '>'), $strcut);
 
 $pos = strrpos($strcut, chr(1));
 if ($pos !== false) {
 $strcut = substr($strcut, 0, $pos);
 }
 return $strcut . $dot;
 }
 
 /**
 * 描述格式化
 * @param $subject
 */
 public static function clearCutstr($subject, $length = 0, $dot = '...', $charset = 'utf-8') {
 if ($length) {
 return XUtils::cutstr(strip_tags(str_replace(array("\r\n"), '', $subject)), $length, $dot, $charset);
 } else {
 return strip_tags(str_replace(array("\r\n"), '', $subject));
 }
 }
 
 /**
 * 检测是否为英文或英文数字的组合
 *
 * @return unknown
 */
 public static function isEnglist($param) {
 if (!eregi("^[A-Z0-9]{1,26}$", $param)) {
 return false;
 } else {
 return true;
 }
 }
 
 /**
 * 将自动判断网址是否加http://
 *
 * @param $http
 * @return string
 */
 public static function convertHttp($url) {
 if ($url == 'http://' || $url == '')
 return '';
 
 if (substr($url, 0, 7) != 'http://' && substr($url, 0, 8) != 'https://')
 $str = 'http://' . $url;
 else
 $str = $url;
 return $str;
 }
 
 /*
 标题样式格式化
 */
 
 public static function titleStyle($style) {
 $text = '';
 if ($style['bold'] == 'Y') {
 $text .='font-weight:bold;';
 $serialize['bold'] = 'Y';
 }
 
 if ($style['underline'] == 'Y') {
 $text .='text-decoration:underline;';
 $serialize['underline'] = 'Y';
 }
 
 if (!empty($style['color'])) {
 $text .='color:#' . $style['color'] . ';';
 $serialize['color'] = $style['color'];
 }
 
 return array('text' => $text, 'serialize' => empty($serialize) ? '' : serialize($serialize));
 }
 
 // 自动转换字符集 支持数组转换
 static public function autoCharset($string, $from = 'gbk', $to = 'utf-8') {
 $from = strtoupper($from) == 'UTF8' ? 'utf-8' : $from;
 $to = strtoupper($to) == 'UTF8' ? 'utf-8' : $to;
 if (strtoupper($from) === strtoupper($to) || empty($string) || (is_scalar($string) && !is_string($string))) {
 //如果编码相同或者非字符串标量则不转换
 return $string;
 }
 if (is_string($string)) {
 if (function_exists('mb_convert_encoding')) {
 return mb_convert_encoding($string, $to, $from);
 } elseif (function_exists('iconv')) {
 return iconv($from, $to, $string);
 } else {
 return $string;
 }
 } elseif (is_array($string)) {
 foreach ($string as $key => $val) {
 $_key = self::autoCharset($key, $from, $to);
 $string[$_key] = self::autoCharset($val, $from, $to);
 if ($key != $_key)
 unset($string[$key]);
 }
 return $string;
 } else {
 return $string;
 }
 }
 
 /*
 标题样式恢复
 */
 
 public static function titleStyleRestore($serialize, $scope = 'bold') {
 $unserialize = unserialize($serialize);
 if ($unserialize['bold'] == 'Y' && $scope == 'bold')
 return 'Y';
 if ($unserialize['underline'] == 'Y' && $scope == 'underline')
 return 'Y';
 if ($unserialize['color'] && $scope == 'color')
 return $unserialize['color'];
 }
 
 /**
 * 列出文件夹列表
 *
 * @param $dirname
 * @return unknown
 */
 public static function getDir($dirname) {
 $files = array();
 if (is_dir($dirname)) {
 $fileHander = opendir($dirname);
 while (( $file = readdir($fileHander) ) !== false) {
 $filepath = $dirname . '/' . $file;
 if (strcmp($file, '.') == 0 || strcmp($file, '..') == 0 || is_file($filepath)) {
 continue;
 }
 $files[] = self::autoCharset($file, 'GBK', 'UTF8');
 }
 closedir($fileHander);
 } else {
 $files = false;
 }
 return $files;
 }
 
 /**
 * 列出文件列表
 *
 * @param $dirname
 * @return unknown
 */
 public static function getFile($dirname) {
 $files = array();
 if (is_dir($dirname)) {
 $fileHander = opendir($dirname);
 while (( $file = readdir($fileHander) ) !== false) {
 $filepath = $dirname . '/' . $file;
 
 if (strcmp($file, '.') == 0 || strcmp($file, '..') == 0 || is_dir($filepath)) {
 continue;
 }
 $files[] = self::autoCharset($file, 'GBK', 'UTF8');
 ;
 }
 closedir($fileHander);
 } else {
 $files = false;
 }
 return $files;
 }
 
 /**
 * [格式化图片列表数据]
 *
 * @return [type] [description]
 */
 public static function imageListSerialize($data) {
 
 foreach ((array) $data['file'] as $key => $row) {
 if ($row) {
 $var[$key]['fileId'] = $data['fileId'][$key];
 $var[$key]['file'] = $row;
 }
 }
 return array('data' => $var, 'dataSerialize' => empty($var) ? '' : serialize($var));
 }
 
 /**
 * 反引用一个引用字符串
 * @param $string
 * @return string
 */
 static function stripslashes($string) {
 if (is_array($string)) {
 foreach ($string as $key => $val) {
 $string[$key] = self::stripslashes($val);
 }
 } else {
 $string = stripslashes($string);
 }
 return $string;
 }
 
 /**
 * 引用字符串
 * @param $string
 * @param $force
 * @return string
 */
 static function addslashes($string, $force = 1) {
 if (is_array($string)) {
 foreach ($string as $key => $val) {
 $string[$key] = self::addslashes($val, $force);
 }
 } else {
 $string = addslashes($string);
 }
 return $string;
 }
 
 /**
 * 格式化内容
 */
 static function formatHtml($content, $options = '') {
 $purifier = new CHtmlPurifier();
 if ($options != false)
 $purifier->options = $options;
 return $purifier->purify($content);
 }
 
}
 
?>



本文地址:百科问答频道 https://www.neebe.cn/wenda/886595.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • 开源代码是什么意思?

    开源代码是什么意思?

    开源代码是指能够免费使用、自由传播的软件代码,它使得程序开发者可以重新使用和改进现有的程序的源代码。它的优点是可以提高软件开发的效率,拥有完善的授权协议,保证用户完全拥有自身代码施行自身功能开发等自主权。因此,开源代码近几年深受IT开发行...

  • phpMyAdmin是什么意思?

    phpMyAdmin是什么意思?

    phpMyAdmin是一个用PHP编写的MySQL的管理界面程序,它通过Web浏览器实现MySQL的管理,操作MySQL数据库更加容易,不必使用命令行。phpMyAdmin的功能很强大,能实现MySQL的各种管理操作,能够执行SQ...

  • 代码加密是什么意思?

    代码加密是什么意思?

    代码加密是指采用数学的安全算法进行编码,将原始程序加码以达到保护软件受到未授权使用的目的。说白了,就是一种保护程序的安全防护技术。它能让程序的源代码和机器码保护以及隐藏,使原始代码不能被别人破解,也就是说,程序被加密后,即使别人有源代码,...

  • 代码编程是什么意思?

    代码编程是什么意思?

    代码编程是把一些有意义的指令(称为程序代码),以一种特定的语言编写成,让机器能够理解并执行的一种过程。程序代码被输入到计算机(或特定的计算设备)中,按照用户编写的指令执行操作,从而实现特定的功能。代码编程具有很多好处,因为它可以使我们有效...

  • 统计代码是什么意思?

    统计代码是什么意思?

    统计代码是指用于分析和可视化数据的编程语言。它以各种形式表达数值、图表和其他形式的信息,以帮助研究人员更清楚地了解数据和定义出统计模型的性质。统计代码的框架如下:•对功能做出定义。需要定义函数如何运行,接收什么参数,并返回哪些结果。•...

  • 代码签名是什么意思?

    代码签名是什么意思?

    代码签名是指通过一定的安全技术将代码结合一定的信息目(如代码来源者、代码有效时间等)发行者或者维护者和软件进行签名,以验证代码来源,确保其合法性并便于用户快捷识别,以保障信息系统的安全性的一种技术。代码签名的主要目的是为了便于用户安全的使...

  • 上古卷轴5复活NPC代码及方法 怎么复活NPC

    上古卷轴5复活NPC代码及方法 怎么复活NPC

    今天的这篇和大家聊一聊关于上古卷轴5复活NPC代码及方法怎么复活NPC的问题,希望能够帮助到有需要的朋友。操作方法01复活NPC方法一主要就是针对,重要的任务npc...

  • 侠盗飞车罪恶都市作弊代码攻略整理

    侠盗飞车罪恶都市作弊代码攻略整理

    操作方法01喜欢侠盗飞车罪恶都市的朋友依然不少,但是在这款游戏中如果能够作弊是不是有趣多了?今天小编为大家分享的是:侠盗飞车罪恶都市作弊代码攻略,希望大家喜欢!THUGSTOOLS-棍子类武器...

  • 周排行
  • 月排行
  • 年排行

精彩推荐