PHP中的魔术方法是指在特定事件下自动触发的方法,这些方法都有一个共同特征:以“__”两个下划线开始,共15个魔术方法,整理如下
LAMP——Linux,Apache,Mysql,PHP构成一个强大、高性能的web应用平台,被誉为“黄金组合“。近期想把自己的项目全部迁移到Linux下,现总结下配置过程中遇到的一些问题及解决的办法。
应实际系统需求,需要对通过EXCEL导入数据库的信息做“查重”处理,也就是每读取EXCEL表的一行数据与数据库进行一次比对,对重复出现的数据给出提示,只有全部不重复才可插入数据库。还有想到在读取EXCEL之前应该先判断一下是不是按照模版上的表头信息填写的,不是的话也不允许继续下去。
最近一直在改fpp,这是学长们之前做的“防攀爬系统”,现在需要修改一些BUG以及增加一些功能。现将一些经验记录一下,提醒自己在之后的项目中不要去犯类似的错误。
用本地的Apache作php服务器,发现链接为文件目录时会列出目录里的所有文件,这对于用于发布站点的服务器来说是很不安全的。这是因为该目录下内有index.php或index.html等默认页面,所以一定要禁用,下面就介绍实现的办法。
接下来一个非常重要的就是生成带参数的二维码了,当用户还没关注公众账号时,用户会自动发送关注事件给公众账号。如果用户已经关注公众账号,则自动进入会话。创建二维码主要是两个关键的步骤,创建二维码ticket和换取二维码。创建二维码ticket是post请求,有临时二维码和永久二维码两种情况,临时url:https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN,永久url:https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN而且post过去的是JSON数据,正确的JSON返回ticket,凭借这个“ticket”票去换取二维码图片。换取的url为GET请求,正确返回一张图片,包含图片的大小、类型、创建时间等。这图片在网页端可以直接显示。但如果返回给用户的话,直接返回是不正确的。因为这是图片,需要转换成图片的格式与用户交流。因为图片不是本地的,直接发送获取不到,这就需要先上传到服务器,上传图片包含类型以及media,上传多媒体文件也有大小限制,但一张二维码还是没有问题的。创建二维码函数如下
寒假里时普通公众账号还是不能自定义菜单的,这是后来微信才开放给普通公众账号的。自定义菜单需要http请求url,地址为 https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN,为此,封装成私有postRequest()函数,第一个参数为请求的地址,第二个为请求post过去的数据,自定义菜单里post数据就是菜单的信息了。目前自定义菜单接口可以实现两种类型的按钮,click类型服务器会推送消息类型为event,并且需要传入key值,用于后面判断执行哪个按钮的指令。view类型带有的是url,点击后会直接打开url地址,相当于点击的一个网页链接。目前最多可以创建3个一级菜单,每个一级菜单最多可以创建5个二级菜单。试了一下,这样的限制在用户体验上是很合理的。
这样一来一个简单的收发消息就可以实现了,呃,不!这只是简单中的收发文本消息,对于图片、语音、视频、地理位置、链接等通过类似的方法,注意XML中的数据就行了。值得一提的是图文消息,也就是我们通常看到的腾讯新闻推送的类型,<ArticleCount>
指的是图文消息个数,限制为10条以内,有多少个下面的<item>
就需要有多少,<item></item>
里包含<Title>
图文消息的标题,<Description>
图文消息描述,<PicUrl>
图片链接,<Url>
点击图文消息跳转链接。
想着之前的二维码签到,寒假中过年之前学习了下微信的公众平台。在家的心总是静不下来,没有好好总结总结。现在来到学校了,离开学还有一个礼拜的时间,回过头来反思一下。
之前的QR_code部分调用的是Google Chart API,后来发现的一个问题就是执行的速度很慢,而且超时的话就显示不出来了。这可不能就这样不稳定的情况下草草了事了,于是想到了离线代码,不需要借用网络资源的情况下将QR_code给显示出来。