想用到微信公众平台的图片识别系统,结果报错{"errcode":41005,"errmsg":"media data missing hint: [xScHza03164711]"}"

代码如下:

<?php  
 class getImgSecCheck{
function get_data(){
    $url = "https://api.weixin.qq.com/wxa/img_sec_check?access_token=ACCESSTOKEN";
    $post_data = array("media"=>"@D:\phpstudy\PHPTutorial\WWW\addAll.png");
      //初始化
    $curl = curl_init();
    //设置抓取的url
    curl_setopt ( $curl, CURLOPT_URL, $url );
    curl_setopt ( $curl, CURLOPT_POST, 1 );
    curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt ( $curl, CURLOPT_CONNECTTIMEOUT, 5 );
    curl_setopt ( $curl, CURLOPT_SSL_VERIFYPEER, FALSE );
    curl_setopt ( $curl, CURLOPT_SSL_VERIFYHOST, false );
    curl_setopt ( $curl, CURLOPT_POSTFIELDS, $post_data );
    //执行命令
    $data = curl_exec($curl);
    //关闭URL请求
    var_dump($data);
    curl_close($curl);
    //显示获得的数据
  }
}
    
    $getImgSecCheck  = new getImgSecCheck();
    echo  $getImgSecCheck->get_data();

这是因为php版本的不同,所导致的,在php5.5版本之前是可以用

$post_data = array("media"=>"@D:\phpstudy\PHPTutorial\WWW\addAll.png");

来规定文件路径的,但是在php5.5之后就必须用到CURLFile 类;具体实现代码如下:

<?php  
 class getImgSecCheck{
function get_data(){
    $url = "https://api.weixin.qq.com/wxa/img_sec_check?access_token=ACCESSTOKEN";
    $cfile = new CURLFile('D:\phpstudy\PHPTutorial\WWW\addAll.png','image/jpeg','test_name');

$post_data = array('name' => 'Foo',"file"=>$cfile);
      
      //初始化
    $curl = curl_init();
    //设置抓取的url
    curl_setopt ( $curl, CURLOPT_URL, $url );
    curl_setopt ( $curl, CURLOPT_POST, 1 );
    curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt ( $curl, CURLOPT_CONNECTTIMEOUT, 5 );
    curl_setopt ( $curl, CURLOPT_SSL_VERIFYPEER, FALSE );
    curl_setopt ( $curl, CURLOPT_SSL_VERIFYHOST, false );
    curl_setopt ( $curl, CURLOPT_POSTFIELDS, $post_data );
    //执行命令
    $data = curl_exec($curl);
    //关闭URL请求
    var_dump($data);
    curl_close($curl);
    //显示获得的数据
  }
}
    
    $getImgSecCheck  = new getImgSecCheck();
    echo  $getImgSecCheck->get_data();
————————————————
版权声明:本文为CSDN博主「灰熊哦」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39376608/article/details/88851810

使用php进行微信小程序图片安全验证的更多相关文章

  1. 微信小程序--图片相关问题合辑

    图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.preview ...

  2. 微信小程序图片放大预览

    需求:当点击图片时,当前图片放大预览,且可以左右滑动 实现方式:使用微信小程序图片预览接口 我们可以看到api需要两个参数,分别通过下面的data-list和data-src来传到js中 wxml代码 ...

  3. 微信小程序 图片裁剪

    微信小程序 图片裁剪 分享一个微信小程序图片裁剪插件,很好用,支持旋转 文档:https://github.com/wyh19931106/image-cropper 1.json文件中添加image ...

  4. 微信小程序图片保存到本地

    微信小程序图片保存到本地是一个常用功能: 这里讲解下完整实现思路: 因为微信官方的授权只弹一次,用户拒绝后再次调用,就需要结合button组件的微信开放能力来调起,以下方案在微信各种授权中可参考. w ...

  5. 微信小程序图片上传和裁剪

    本篇博客用于解决微信小程序图片裁剪问题 图片裁剪常用于头像选择和图片合成等. 图片裁剪解决方案: 目前网络上知名的微信小程序图片裁剪插件是we-cropper(文末有链接) 操作步骤:下载好we-cr ...

  6. 关于微信小程序图片失真的解决方案

    今天来说一说 关于微信小程序的图片失真问题的解决,微信小程序的image标签要设置其宽高,不然图片若宽高过大会撑开原始图片大小的区域:如下 但是宽高设置固定了会导致有些图片和规定显示图片大小的比例不一 ...

  7. 5行代码实现微信小程序图片上传与腾讯免费5G存储空间的使用

    本文介绍了如何在微信小程序开发中使用腾讯官方提供的云开发功能快速实现图片的上传与存储,以及介绍云开发的 5G 存储空间的基本使用方法,这将大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频 ...

  8. 快速高效实现微信小程序图片上传与腾讯免费5G存储空间的使用

    本文介绍了如何在微信小程序开发中使用腾讯官方提供的云开发功能快速实现图片的上传与存储,以及介绍云开发的 5G 存储空间的基本使用方法,这将大大提高微信小程序的开发效率 对于一般的图片上传功能开发,我们 ...

  9. 微信小程序图片上传并展示

    1.首先编写微信小程序的页面和样式: index.js var total = []; Page({ data: { perImgSrc: [] }, onLoad: function (option ...

随机推荐

  1. MindManager主题标记功能怎么使用

    我们在使用MindManager制作思维导图的过程中,经常需要对主题的类别,优先程度等进行整理,毫无疑问,这是一项繁琐却又不得不做的工作.今天小编为大家带来了MindManager主题整理的一些小技巧 ...

  2. elasticsearch 使用同义词

    elasticsearch 使用同义词 使用环境 elasticsearch5.1.1 kibana5.1.1 同义词插件5.1.1 安装插件 下载对应的elasticsearch-analysis- ...

  3. phpstorm中去除sql的背景颜色

    链接 http://www.oschina.net/question/1779564_2143393 这是去除黄线   再去除灰色线

  4. Python JSON存储数据

    前言: 很多程序都要求用户输入某种信息,如让用户存储游戏首选项或提供要可视化的数据.不管专注的是什么,程序都把用户提供的信息存储在列表和字典等数据结构中.用户关闭 程序时,你几乎总是要保存他们提供的信 ...

  5. JavaSE 学习笔记03丨继承、接口、多态、内部类

    Chapter. 5 继承 继承作为面向对象的三大特征之一,它是多态的前提.它主要解决的问题是共性抽取. Java中的继承,是单继承.多级继承的. 已存在的类,被称为超类.基类.父类(parent c ...

  6. LeetCode 049 Anagrams

    题目要求:Anagrams Given an array of strings, return all groups of strings that are anagrams. Note: All i ...

  7. Docker一些基本操作

    1.停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q) 如果想要删除所有container的话再加一个指令: docker ...

  8. Django连接redis

    CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", &q ...

  9. 一万字详解 Redis Cluster Gossip 协议

    Redis Cluster Gossip 协议 大家好,我是历小冰,今天来讲一下 Reids Cluster 的 Gossip 协议和集群操作,文章的思维导图如下所示. 集群模式和 Gossip 简介 ...

  10. 小bug小坑总结

    1. 小程序canvas那些原生组件的层级默认是最高的,而且不能更改,平常的div弹框什么的上面就会显示出原生组件的内容, 解决办法:cover-view,cover-image,button 2. ...