8,跨域问题:使用jsonp解决
function actionFunc(tablename,id,action_type){
if(tablename == "xxxx" || tablename == "xxxx"){
return false;
}
action_data.t= tablename;
action_data.id=id;
action_data.action_type = action_type;
action_data.timestamp = new Date().getTime();
$.ajax({
type: "get",
dataType: "jsonp",
url: 'https://api.xxx.com/internal/datagrand.php',
data:action_data,
success:function(){}
})
}
actionFunc(tablename,id,'view');
// 输出json
function outPrintApiJson($code, $msg, $data = array(), $info = array())
{
// header("Content-Type:application/json");
$array = array(
"code" => $code,
"msg" => $msg,
);
if (!empty($data)) {
$array["data"] = $data;
}
if (!empty($info)) {
$array["info"] = $info;
}
echo $_GET['callback'].'('.json_encode($array).')';
exit;
}
----------------------------------------------------------------------------------------------------------
7, 文件命名特殊字符
7-1,windows下特殊字符无法用来命名
: / \ ? * “ < > |
【空格】用在文件名的第一个字符,则忽略不计
7-2,mac 下特殊字符无法用来命名
一般 /?~^&* 等都不能有,要分割名字可以用 【空格】,下划线或者-( _- )
加号是特殊的 urlencode 会把它 转为 空格
-----------------------------------------------------------------------------------------------------------------
6,!! 双感叹号的用法:
解释:双感叹号也就相当于程序语言中的三元运算($a?$b:$c)
<?php
$a = true;
// !!$a 相当于 $a?$a:false
if(!!$a){
echo 'ok';
}else{
echo 'error';
}
5,preg_replace_callback — 执行一个正则表达式搜索并且使用一个回调进行替换
$data['sContent'] = preg_replace_callback(
"#(<img([^>]*?))(height=\"(.*?)\")(([^>]*?)>)#",
function($arr){
return $arr[1].$arr[5];
},$data['sContent']);
4, encodeURIComponent ( js,ajax ) 对URL进行加密;urldecode ( php )对URL进行解密
url:'/index.php',
message:"msg",
ctp:"application/x-www-form-urlencoded",
data:{
path:src!=undefined?encodeURIComponent(src):''
},
//===============================================
index.php:
$path = urldecode($_POST($path));
3,$$ 相当于 $
$a
= ${$a}
<?php echo
"$a ${$a}"
;
2,goto 使用
1, str_pad
<?php
$key=11;
$sub_report_sn='';
$sub_report_sn = str_pad($key + 1, 2, '0', STR_PAD_LEFT);
var_dump($sub_report_sn);// $key=11;==>12 || $key=1; //02