接口跨域问题,如果我们没办法修改服务器的配置,那就从代码入手。
php后端代码设置Header头支持跨域,在方法的最前面加入以下的代码。
// 允许a.com发起的跨域请求
header(“Access-Control-Allow-Origin: http://a.com”);
//如果需要设置允许所有域名发起的跨域请求,可以使用通配符 *
header(“Acces……
经常我们会使用 JSON.stringify() 保存某些数据,然后需要在php中读取,但在PHP接到这个参数的数据时,使用json_decode()却无法解析。
所以问题就是,为什么json_decode()解析JSON.stringify为什么为NULL。
解决方法:
当你使用 JSON stringify时,先在json_decode前使用 html_entity_decode。
代码示例:
$tempData = h……
thinkphp是当下被用得最为广泛的php框架,而在使用thinkphp开发的过程中,我们也许会遇到这样的问题,当我们访问一个不存在的Controller或不存在的方法时会出现报错的界面,这样显得不美观且不安全。
这种情况下,我们的处理方式就是把这些不存在的控制器或方法使用_empty定义至我们的404页面。怎么实现呢,下面是方法。
……
在项目里我们经常会使用到多语言,而有一种情况是在切换不同的语言时需要调用数据库里的不同字段的值。
例如,在文章内容页,如果是中文,读取content字段里的值显示,如果是英文,则读取en_content字段里的值显示。
实现这样的需求,需要在Model层做判断,以上面的例子需求为例,我们需要在文章Model里使用_after_select……
Yaf模块的使用
1、了解Yaf的默认路由
默认的路由协议是Yaf_Route_Static,在request_uri中以 “/” 分割module、controller、action和参数的键和值
分割出来的第一段,有可能是module,也有可能是controller,如果该module存在,则认为是module,否则认为是默认模块Index的controller。
比如:在application/controllers/Us……
1、安装yaf
有三种安装方式:源码、PECL和安装操作系统提供的包。
我用了源码编译安装:
[root@localhost ~]# wget -c https://github.com/laruence/yaf/archive/yaf-3.0.5.tar.gz
[root@localhost ~]# tar xzvf yaf-3.0.5.tar.gz && cd yaf-3.0.5
[root@localhost ~]# phpize
[root@localhost ~]# ./configure……
在使用php7的thinkphp框架在开启验证码的时候发现报错:Cannot use ‘String’ as class name as it is reserved
报错的原因:主要是php7把String定为关键字,而在thinkphp框架中有一个类用了string类名
解决方法:
1、将文件ThinkPHP\Library\Org\Util\String.class.php改名,例如复杂成Stringnew.class.php,……
在PHP的一些应用中需要写日志或者记录一些信息,这样的话。可以使用fopen(),fwrite()以及 fclose()这些进行操作。也可以简单的使用file_get_contents()和file_put_contents().
file_put_contents()写文件。默认的是重新写文件,也就是会替换原先的内容。追加的话使用参数FILE_APPEND。
int file_put_contents ( string fi……
今天介绍2个PHP函数:http_build_query()和parse_str()
1、http_build_query()
$str=http_build_query ( $array ),可以实现将数组$array格式化GET形式的字符串并赋值给$str,
例:
$array =array (‘id’=> 100, ‘status’=> 1);
echo http_build_query( $array );
//得到结果
id=100&status=……
有时候我们在使用PHP的CURL进行模拟POST提交时,会发现本地host指向的ip域名无法成功,这个时候我们就需要通过配置CURL的CURLOPT_HTTPHEADER来支持host指向的本地域名访问。
一、首先写一个调用CURL的函数为:
/**
* php模拟post请求
* @param $url string //请求地址,本地host指向时域名改成host指向的ip
* @pram $dat……