对于WEB开发人员来说PHP基本是标配,其他的程序员也可能会编上几句PHP代码。今天给大家总结了33个实用的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