电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

33個超級有用必須要收藏的PHP代碼樣例

瀏覽:21日期:2022-09-12 16:13:52

作為一個正常的程序員,會好幾種語言是十分正常的,相信大部分程序員也都會編寫幾句PHP程序,如果是WEB程序員,PHP一定是必備的,即使你沒用它開發過大型軟件項目,也一定多少了解它的語法。

在PHP的流行普及中,網上總結出了很多實用的PHP代碼片段,這些代碼片段在當你遇到類似的問題時,粘貼過去就可以使用,非常的高效,非常的省時省力。將這些程序員前輩總結出的優秀代碼放到自己的知識庫中,是一個善于學習的程序員的好習慣。

33個超級有用必須要收藏的PHP代碼樣例

PHP代碼樣例

<?php/** * 時間:2015-8-6 * 作者:River * 超級有用、必須收藏的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;} elsereturn $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 '5b8b4f53',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').innerHTML;//alert(delay);if(delay > 0){delay--;document.getElementById('time').innerHTML = 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='http://www.hdgsjgj.cn/bcjs/’ . Yii::app()->baseUrl . ’/static/images/’ . $images . ’'/></div><div class='tips_info'> <p class='’ . $class . ’'>’ . $content . ’</p> <p class='return'>系統自動跳轉在 <span id='time'>’ . $timeout . ’ </span> 秒后,如果不想等待,<a href='http://www.hdgsjgj.cn/bcjs/’ . $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}-))?((0d{2,3})|0d{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;elsereturn 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(’&amp;’, ’&quot;’, ’&lt;’, ’&gt;’), 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(’&amp;’, ’&quot;’, ’&lt;’, ’&gt;’), $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('rn'), ’’, $subject)), $length, $dot, $charset);} else {return strip_tags(str_replace(array('rn'), ’’, $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);}}?>

標簽: PHP
相關文章:
主站蜘蛛池模板: 烟气换热器_GGH烟气换热器_空气预热器_高温气气换热器-青岛康景辉 | 连栋温室大棚建造厂家-智能玻璃温室-薄膜温室_青州市亿诚农业科技 | 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | 120kv/2mA直流高压发生器-60kv/2mA-30kva/50kv工频耐压试验装置-旭明电工 | 玖容气动液压设备有限公司-气液增压缸_压力机_增压机_铆接机_增压器 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 实验室装修_实验室设计_实验室规划设计- 上海广建净化工程公司 | 万濠影像仪(万濠投影仪)百科-苏州林泽仪器 | cnc精密加工_数控机械加工_非标平键定制生产厂家_扬州沃佳机械有限公司 | 派财经_聚焦数字经济内容服务平台| 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | 北京康百特科技有限公司-分子蒸馏-短程分子蒸馏设备-实验室分子蒸馏设备 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 扒渣机厂家_扒渣机价格_矿用扒渣机_铣挖机_撬毛台车_襄阳永力通扒渣机公司 | 电采暖锅炉_超低温空气源热泵_空气源热水器-鑫鲁禹电锅炉空气能热泵厂家 | 光泽度计_测量显微镜_苏州压力仪_苏州扭力板手维修-苏州日升精密仪器有限公司 | 2025世界机器人大会_IC China_半导体展_集成电路博览会_智能制造展览网 | 法兰螺母 - 不锈钢螺母制造厂家 - 万千紧固件--螺母街 | nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | 成都办公室装修-办公室设计-写字楼装修设计-厂房装修-四川和信建筑装饰工程有限公司 | 不锈钢复合板|钛复合板|金属复合板|南钢集团安徽金元素复合材料有限公司-官网 | 等离子空气净化器_医用空气消毒机_空气净化消毒机_中央家用新风系统厂家_利安达官网 | 上海租车公司_上海包车_奔驰租赁_上海商务租车_上海谐焕租车 | 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | 内六角扳手「厂家」-温州市威豪五金工具有限公司 | 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | 储气罐,真空罐,缓冲罐,隔膜气压罐厂家批发价格,空压机储气罐规格型号-上海申容压力容器集团有限公司 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 仿古瓦,仿古金属瓦,铝瓦,铜瓦,铝合金瓦-西安东申景观艺术工程有限公司 | 冷热冲击试验箱_温度冲击试验箱价格_冷热冲击箱排名_林频厂家 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 净水器代理,净水器招商,净水器加盟-FineSky德国法兹全屋净水 | 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 粘度计维修,在线粘度计,二手博勒飞粘度计维修|收购-天津市祥睿科技有限公司 | 哈希PC1R1A,哈希CA9300,哈希SC4500-上海鑫嵩实业有限公司 | 护栏打桩机-打桩机厂家-恒新重工 | 风淋室生产厂家报价_传递窗|送风口|臭氧机|FFU-山东盛之源净化设备 | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 |