本文实例讲述了微信小程序与后台PHP交互的方法。分享给大家供大家参考,具体如下:
接下来将讲后台如何与前台进行数据及图片之间的交互,相信这一点是很多人所关注的,因为当时我实在团队中负责后台开发,因此对前端不是特别了解,这里我会贴出前端开发时的部分代码截图,微信小程序的官方api介绍地址是:
https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-network.html
微信与后台服务器之间的数据通信是调用wx.request(OBJECT)实现的,官方api接口里有对此说明,
例如前台向后台发送数据,需要链接服务器php作用路径下的具体php文件,并以key-value形式封装json格式数据,请看以下代码:
url是服务器的域名及isbn.php在服务器的位置,这个位置是相对位置,在我上一篇购买的镜像里默认php文件路径为:
/yjdata/www/ ,这就意味着直接放在这个文件夹下的php只需要在域名后直接/+*.php即可,如果为了方便管理在这个目录下建了一个文件夹则在域名后/文件夹名字 $book_info=file_get_contents("https://api.douban.com/v2/book/isbn/:".$result); $jsondecode = json_decode($book_info,true); $title=$jsondecode["title"]; $author=$jsondecode["author"]; $publisher=$jsondecode["publisher"]; echo "title=".$title; echo "author=".$author; echo "publisher=".$publisher; ?>
具体的注释都写得很详细,向前台返回数据则直接用echo即可,一般开发都要与数据库打交道,因此,后台程序就需要依据前台传来的数据对数据库进行操作,这一部分其实也就是接受前台的数据,执行对应的数据库操作,这一部分只要是讲到php数据库操作的都会有,这里我不再进行过多阐述。
此外,对于一个微信小程序来说,图片是必不可少的,而图片资源都是存储在服务器中的,因此如何对图片进行存储是一个关键。接下来将结合一个书本信息的具体插入数据库的过程来进行讲解。。。(其实注释特别详细)
0) {
echo "错误:: " . $_FILES["file"]["error"] . "
";
} else {
// 判断当期目录下的 upload 目录是否存在该文件 // 如果没有 upload 目录,你需要创建它,upload 目录权限为 777
if (file_exists("bookimage/" . $_FILES["file"]["name"])) {
echo $_FILES["file"]["name"] . " 文件已经存在。 ";
} else {
// 如果 upload 目录不存在该文件则将文件上传到 upload 目录下 move_uploaded_file($_FILES["file"]["tmp_name"], "bookimage/".$_FILES["file"]["name"]);
$oldname = "bookimage/" . $_FILES["file"]["name"];
$newname = "bookimage/" . $time .$bookholder_name.".".$extension;
rename($oldname, $newname);
$sql_num="select * from book";
$reasult=mysqli_query($conn,$sql_num);
$reasult_num=mysqli_num_rows($reasult); $sql_insert="insert into book (book_id,bookname,authorname,book_intro,bookclass,bookholder_openid,bookpicture_path,is_CunZai,ChengJiao_num) VALUES ($reasult_num+1,'$bookname','$authorname','$bookintroduce','$bookclass','$bookholder_openid','$newname','1',0)";
if( mysqli_query($conn,$sql_insert))
{
echo "插入书籍成功!";
}
else
{
echo "插入失败";
}
}
}
}
mysqli_close($conn);
?>
首先使用$[FILE]全局数组接受文件,其拥有的几个属性如下:
$_FILES["file"]["name"] - 被上传文件的名称
$_FILES["file"]["type"] - 被上传文件的类型
$_FILES["file"]["size"] - 被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码
这是一种非常简单文件发送及接收方式,接收到以后对文件名字进行以“.”进行分割,这是为了获取后缀,接下来要对后缀进行判断,看是否是常用的图片后缀格式,如果是并且图片大小小于1MB,则进行接下来的操作,此时图片位于缓存区,因此必须将图片改名后存于图书图片的文件夹下,这一部分在代码里有实现,此外,还需要将图片的路径与该图书其他信息一起存到数据库里。到这里基本小程序与后台大部分能用到的交互我都在这里讲了,基本可以完成一个简单的小程序。
希望本文所述对大家微信小程序开发有所帮助。



