每天进步一点点,坚持不松懈懈,时刻带着危机感努力前行,程序员不能享受安逸,为了35岁以后的我们打好基础。
目录
设置时区
date_default_timezone_set('PRC');
php设置页面编码
header("Content-type: text/html; charset=utf-8");
header("Content-type: text/html; charset=gb2312");
301跳转
header("HTTP/1.1 301 Moved Permanently");
@header("location: /",true);
文件写入:file_put_contents
file_put_contents ("sendlog.txt", $a."\r\n", FILE_APPEND); //追加
file_put_contents ("sendlog.txt", $a); //替换
php读写缓存文件
//方式一
$cachedata = '$data = '.var_export($arr, true).";\n\n";
if($fp = @fopen($filename, 'wb')) {
fwrite($fp, "<?php\n$cachedata?>");
fclose($fp);
}
//方式二
file_put_contents("a.php","<?php\n".var_export(array($_GET,$_POST), true)."?>");
文件读取指定读取某些行
$fp=fopen('文件名.txt','r');
for ($i=1;$i<100;$i++) fgets($fp); //跳过前99行
$arr=array(); //初始化数组
for ($i=100;$i<200;$i++) $arr[]=fgets($fp); //读出100~200行
fclose($fp);
php页面执行时间
function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
/*在PHP网页的开头加入以下*/
$time_start = getmicrotime();
/*然后到最后加入以下代码*/
$time_end = getmicrotime();
printf ("[页面执行时间: %.2f毫秒]\n\n",($time_end - $time_start)*1000);
字符串截断
function cnSubStr($string,$sublen){
$string = htmlspecialchars_decode($string);
if($sublen>=strlen($string)){return $string;}
$s="";
for($i=0;$i<$sublen;$i++){if(ord($string{$i})>127){$s.=$string{$i}.$string{++$i}; continue;}else{$s.=$string{$i};continue;}}
return $s;
}
对数组进行编码转换
function array_iconv($data, $input = 'gbk', $output = 'utf-8') {
if (!is_array($data)) {
return iconv($input, $output, $data);
} else {
foreach ($data as $key=>$val) {if(is_array($val)) {$data[$key] = array_iconv($val, $input, $output);} else {$data[$key] = iconv($input, $output, $val);}}
return $data;
}
}
接口json格式输出
$resultarr = array_iconv ( $resultarr, "gbk", "utf-8" );
$jsonstring = json_encode ( $resultarr );
header ( 'Content-Type: application/json' );
echo $jsonstring;
exit ();
参数过滤
//过滤所有GET过来变量
foreach($_GET as $get_key=>$get_var){if (is_numeric($get_var)){$get[strtolower($get_key)] = get_int($get_var); }else{$get[strtolower($get_key)] = get_str($get_var);}}
//过滤所有POST过来的变量
foreach($_POST as $post_key=>$post_var){if (is_numeric($post_var)){$post[strtolower($post_key)] = get_int($post_var);}else{$post[strtolower($post_key)] = get_str($post_var);}}
//过滤函数-整型
function get_int($number){return intval($number);}
//过滤函数-字符串
function get_str($string){
$tmp=eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $string); // 进行过滤
if($tmp){echo "输入非法注入内容!";exit();}else{return $stri