微信开发之——Php批量生成带参数的二维码,php参数
带参数的二维码对于渠道营销推广来说是很有用的,可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送,可喜的是微信开通了这个接口,那下面就来研究一下吧。
具体接口说明请参见,微信公众平台开发者文档(http://mp.weixin.qq.com/wiki/18/28fc21e7ed87bec960651f0ce873ef8a.html),我这里就直接上代码。
演示图:
由于带参数二维码生成是有限的,所有我是按编号生成的,下次生成的时候直接累加。
另外带设置有备注,方便以后统计。
<span> 1</span> <span>public</span> <span>function</span><span> createewm(){ </span><span> 2</span> <span>if</span><span>(IS_POST){ </span><span> 3</span> <span>$access_token</span>=checkAccessToken(<span>$this</span>->token); <span>//</span><span>获取access_token</span> <span> 4</span> <span>$json_url</span>='https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token='.<span>$access_token</span><span>; </span><span> 5</span> <span> 6</span> <span>$action_name</span>=<span>$this</span>->_post('action_name'); <span>//</span><span>生成类型(临时、永久)</span> <span> 7</span> <span>$create_num</span>=<span>$this</span>->_post('create_num'); <span>//</span><span>生成数量 </span><span> 8</span> <span> 9</span> <span> //数据库里查询最后生成一个编号</span> <span>10</span> <span>$now_secne_id</span>=M('erweima')->where(<span>array</span>('token'=><span>$this</span>->token))->order('scene_id desc')->getField('scene_id'<span>); </span><span>11</span> <span>12</span> <span>//</span><span>新生成在最后一个编辑上加1</span> <span>13</span> <span>$start_secne_id</span>=<span>intval</span>(<span>$now_secne_id</span>)+1<span>; </span><span>14</span> <span>$end_secne_id</span>=<span>intval</span>(<span>$now_secne_id</span>)+<span>intval</span>(<span>$create_num</span><span>); </span><span>15</span> <span>$n</span>=0<span>; </span><span>16</span> <span>for</span>(<span>$i</span>=<span>$start_secne_id</span>;<span>$i</span><=<span>$end_secne_id</span>;<span>$i</span>++<span>){ </span><span>17</span> <span>$curl_data</span>=''<span>; </span><span>18</span> <span>if</span>(<span>$action_name</span>=='QR_SCENE'<span>){ </span><span>19</span> <span>//</span><span>临时 post的json数据</span> <span>20</span> <span>$curl_data</span>='{"expire_seconds": 1800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": '.<span>$i</span>.'}}}'<span>; </span><span>21</span> <span> } </span><span>22</span> <span>23</span> <span>if</span>(<span>$action_name</span>=='QR_LIMIT_SCENE'<span>){ </span><span>24</span> <span>//</span><span>永久 post的json数据</span> <span>25</span> <span>$curl_data</span>='{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": '.<span>$i</span>.'}}}'<span>; </span><span>26</span> <span> } </span><span>27</span> <span>$json_info</span>=json_decode(<span>$this</span>->api_notice_increment(<span>$json_url</span>,<span>$curl_data</span>),<span>true</span><span>); </span><span>28</span> <span>29</span> <span>//</span><span>这里代表生成成功,记录数据以便插入到数据库,方便以后统计查找</span> <span>30</span> <span>if</span>(<span>$json_info</span>['errcode']!=40013<span>){ </span><span>31</span> <span>$data</span>[<span>$n</span>]['token']=<span>$this</span>-><span>token; </span><span>32</span> <span>$data</span>[<span>$n</span>]['tiket']=<span>$json_info</span>['ticket'<span>]; </span><span>33</span> <span>$data</span>[<span>$n</span>]['url']=<span>$json_info</span>['url'<span>]; </span><span>34</span> <span>$data</span>[<span>$n</span>]['scene_id']=<span>$i</span><span>; </span><span>35</span> <span>$data</span>[<span>$n</span>]['expire_seconds']=<span>$json_info</span>['expire_seconds'<span>]; </span><span>36</span> <span>$data</span>[<span>$n</span>]['action_name']=<span>$action_name</span><span>; </span><span>37</span> <span>$data</span>[<span>$n</span>]['remark']=''<span>; </span><span>38</span> <span>$data</span>[<span>$n</span>]['createtime']=<span>time</span><span>(); </span><span>39</span> <span>$n</span>++<span>; </span><span>40</span> }<span>else</span><span>{ </span><span>41</span> <span>$this</span>->error('操作失败'<span>); </span><span>42</span> <span> } </span><span>43</span> <span> } </span><span>44</span> <span>45</span> <span>if</span>(<span>count</span>(<span>$data</span>)>0<span>){ </span><span>46</span> <span>$res</span>= M('erweima')->addAll(<span>$data</span>);<span>//</span><span>插入数据</span> <span>47</span> <span>if</span>(<span>$res</span><span>){ </span><span>48</span> <span>$this</span>->success('添加成功'<span>); </span><span>49</span> }<span>else</span><span>{ </span><span>50</span> <span>$this</span>->error('操作失败'<span>); </span><span>51</span> <span> } </span><span>52</span> }<span>else</span><span>{ </span><span>53</span> <span>$this</span>->error('操作失败'<span>); </span><span>54</span> <span> } </span><span>55</span> <span> } </span><span>56</span> }
<span>function</span> api_notice_increment(<span>$url</span>, <span>$data</span><span>){ </span><span>$ch</span> =<span> curl_init(); </span><span>$header</span> = "Accept-Charset: utf-8"<span>; curl_setopt(</span><span>$ch</span>, CURLOPT_URL, <span>$url</span><span>); curl_setopt(</span><span>$ch</span>, CURLOPT_CUSTOMREQUEST, "POST"<span>); curl_setopt(</span><span>$ch</span>, CURLOPT_SSL_VERIFYPEER, <span>FALSE</span><span>); curl_setopt(</span><span>$ch</span>, CURLOPT_SSL_VERIFYHOST, <span>FALSE</span><span>); curl_setopt(</span><span>$curl</span>, CURLOPT_HTTPHEADER, <span>$header</span><span>); curl_setopt(</span><span>$ch</span>, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'<span>); curl_setopt(</span><span>$ch</span>, CURLOPT_FOLLOWLOCATION, 1<span>); curl_setopt(</span><span>$ch</span>, CURLOPT_AUTOREFERER, 1<span>); curl_setopt(</span><span>$ch</span>, CURLOPT_POSTFIELDS, <span>$data</span><span>); curl_setopt(</span><span>$ch</span>, CURLOPT_RETURNTRANSFER, <span>true</span><span>); </span><span>$tmpInfo</span> = curl_exec(<span>$ch</span><span>); </span><span>if</span> (curl_errno(<span>$ch</span><span>)) { </span><span>//</span><span>curl_close( $ch )</span> <span>return</span> <span>$ch</span><span>; }</span><span>else</span><span>{ </span><span>//</span><span>curl_close( $ch ) </span> <span>return</span> <span>$tmpInfo</span><span>; } curl_close( </span><span>$ch</span><span> ) ; }</span>
很简单,基本够用了,喜欢就拿走
Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
Assassin's Creed Shadows: Seashell Riddle -Lösung
2 Wochen vorByDDD
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung