1.登录美图秀秀WEB开放平台(http://open.web.meitu.com/wiki/)
下载crossdomain.xml文件,把解压出来的crossdomain.xml文件放在您保存图片或图片来源的服务器根目录下。
如: http://example.com.cn,那么crossdomain.xml的路径为:http://example.com.cn/crossdomain.xml。
需要注意的是crossdomain.xml必须部署于站点根目录下才有效, crossdomain.xml的目的是授权来自美图域下的flash向您的站点上传图片或者从您的站点加载图片。
在你的网页代码head标签里或者body标签里加入代码。
然后加载meitu.js和JQ.Js的代码,再创建一个div,id设置为csdiv,例:

接下来你需要编辑你的meitu.js文件,设置美图秀秀API的相关参数啦,例:

接着,我们就上面的上传接口进行编写相应的php代码:
0){
//文件上传错误提示
switch($_FILES['Filedata']['error']){
case 1:
//1---文件上传大小超过服务器允许上传的最大值
$error_log='The file is bigger than this PHP installation allows';
break;
case 2:
//2---文件上传大小超过html表单中隐藏域MAX_FILE_SIZE选项的值
$error_log='The file is bigger than this form allows';
break;
case 3:
//3---文件只有部分被上传
$error_log='Only part of the file was uploaded';
break;
case 4:
//4---没有文件被上传
$error_log='No file was uploaded';
break;
default:break;
}
die('upload error:'.$error_log);
}
else {
//上传成功
//获得临时文件名
$img_data = $_FILES['Filedata']['tmp_name'];
//获得上传文件的大小
$size = getimagesize($img_data);
//获得上传文件类型
$file_type = $size['mime'];
if (!in_array($file_type, array('image/jpg', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/gif'))) {
$error_log='only allow jpg,png,gif';
//文件类型出错,输出错误信息
die('upload error:'.$error_log );
}
//获得文件扩展名
switch($file_type){
case 'image/jpg':
case 'image/jpeg':
case 'image/pjpeg':
$extension = 'jpg';
break;
case 'image/png':
$extension='png';
break;
case 'image/gif':
$extension='gif';
break;
}
}
if(!is_file($img_data)){
die('Image upload error!');
}上边这段代码重要的作用是:判断是否上传文件,上传文件是否满足要求(大小,格式),获得文件的扩展名。
下边这段代码可以理解为:新创建一个$filename,带有文件路径、文件名和文件扩展名,调用move_uploaded_file函数,将上传的图片移到到当前$filename文件,然后加载Db.class.php类和连接数据库操作的config.php,接着把当前上传文件更新在数据库相应的avatar上:

连接数据库的config.php文件为:

我们在从事软件开发过程中,经常会遇到使用签名算法,比如在线支付、API接口调用、数据推送、报文校验、身份授权等场景,每一个过程都需要进行签名,原理是请求的数据在发送数据的同时,对数据根据算法进行签名,然后服务端接收数据时,除了校验基本数...
phpstorm程序中,在打开html时总会出现对 style属性的折叠和隐藏,这样在检查代码的时候非常不直观,容易漏掉很多东西,非常的不方便,如图:
有个客户提出了一个需求,他的稿件经常包含有中英文混合内容,现在需要把中文和英文分离开来,即把中文单独取出来,把英文取出来,该怎么实现呢?下边,丁老师用php的方法,来帮你实现。$str="Hello 丁老师软件开发 How a...
在使用ACME申请SSL证书时,输入了命令:acme.sh --issue -d www.xxx.com --dns dns_dp --server xxx来生成证书,但是结果却返回:Error creating new order. ...
在使用idea旗下的产品,如intellij idea,php storm,web storm时,有的时候编辑前端页面JS,在换行时经常会自动出现个}大括号,这一点程序不是很智能,其实后边都已经有括号了。比如下图这样:那么如何解决这个问题呢...
mui的toast默认是在底部的,并且没有参数设置位置,经过研究发现可以通过修改css的方式设置位置,具体方法如下:1.mui toast设置type为divmui.toast('hello', { type: 'd...
在使用uniapp开发微信小程序,微信开发者工具调试时,明明已经给了获取位置权限,但还是提示需要打开gps获取位置,具体解决办法如下:打开uniapp的manifest.json文件,切换到源码模式,找到mp-weixin节点"p...
在进行vue开发中,经常会遇到复制对象,赋值新对象后,原对象值被改变的问题,举个例子:let old={ "a":1, "b":2 } let new=old; new['c']=3;...