
php
k7Cx7e
这个作者很懒,什么都没留下…
展开
-
php中json_encode的[]与{}
如果PHP数组的键都是数字或者空数组,那么json_encode()返回一个数组形式的Json,如果PHP数组的键全是字符串。那么json_encode()就会返回一个对象形式的Json。两者在js中的调用是不同的。事实上,只要在PHP数组的键中有一个字符串形式的键,那么json_encode()就会返回对象形式的Json一个对象,而对象是不可能以数字作为属性名的。$array = ar...原创 2019-06-26 12:27:03 · 2254 阅读 · 0 评论 -
PHP合并两张图片的实现
代码如下:$bigImgPath = "./images/bg.jpg";$qCodePath = "./images/thumb/$id.jpg";$bigImg = imagecreatefromstring(file_get_contents($bigImgPath));$qCodeImg = imagecreatefromstring(file_get_contents($qC转载 2017-09-15 19:18:02 · 15199 阅读 · 2 评论 -
PHP修改图片大小的实现方法
主要通过imagecreatetruecolor实现。$filename = "./QR/$id.jpg";$percent = 0.4;list($width, $height) = getimagesize($filename);$new_width = $width * $percent;$new_height = $height * $percent;$image_p = i转载 2017-09-15 19:07:29 · 1694 阅读 · 0 评论 -
PHP运行时强制显示出错信息的代码
error_reporting(E_ALL); ini_set('display_errors', '1'); ini_set('error_log', dirname(__FILE__) . '/error_log.txt'); //将出错信息输出到一个文本文件转载 2017-08-16 18:26:43 · 3892 阅读 · 0 评论 -
百度语音识别和合成SDK for PHP
BaiduToken:获取百度token,并保存到本地服务器,默认是10小时BaiduVOP:语音识别,即将语音转化为文本BaiduTTS:语音合成,即将文本转化为语音/tmp/为缓存目录,存放语音文件和token文件,及其他临时文件访问github:https://github.com/gdali/baiduyuyin-sdk原创 2017-06-11 08:56:40 · 2305 阅读 · 0 评论 -
图灵机器人API 2.0 SDK for PHP
官方没有web的SDK,更没有PHP的SDK,而且手册在认证环节写得不明不白,所以本人写了PHP的SDK,经测试很好用。访问Git:https://github.com/gdali/tuling123-sdk原创 2017-06-06 18:30:05 · 3045 阅读 · 1 评论 -
PHP的AES/RSA加密解密算法
AES$data = 'gdali';$key = 'oScGU3fj8m/tDCyvsbEhwI91M1FcwvQqWuFpPoDHlFk='; //echo base64_encode(openssl_random_pseudo_bytes(32));$iv = 'w2wJCnctEG09danPPI7SxQ=='; //echo base64_encode(openssl_rando原创 2017-06-09 08:28:00 · 985 阅读 · 0 评论 -
phpize是什么
安装php(fastcgi模式)的时候,常常有这样一句命令:/usr/local/webserver/php/bin/phpize一、phpize是干嘛的?phpize是什么东西呢?php官方的说明:http://php.net/manual/en/install.pecl.phpize.phpphpize是用来扩展php扩展模块的,通过phpize转载 2017-05-19 14:56:53 · 359 阅读 · 0 评论 -
LNMPA上php无法获取$_SERVER['HTTPS']的解决办法
1、配置NGINX站点vhost中的SSL规则2、在 /usr/local/nginx/conf/proxy.conf 最后面加上 proxy_set_header X-Forwarded-Proto $scheme;3、在对应apache站点vhost中加入SetEnvIf X-Forwarded-Proto https HTTPS=on即可传递和接收是否使用的https协议原创 2017-05-31 08:48:06 · 3763 阅读 · 0 评论 -
PHP pdo 预定义常量用法实例
while($result = $rs->fetch(PDO::FETCH_NAMED)){ $data[$i] = $result; $i++; } echo $data;那么,返回的是没有数字下表的查询结果。原创 2017-05-26 16:27:12 · 523 阅读 · 0 评论 -
百度语音开发api:文字转语音接口
首先,要获得tokenhttps://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=APPKEY&client_secret=SecretKeyAPPKEY和Secret Key根据自己实际账号信息来填写,然后GET就获得了token和过期时间等信息,json格式。然后原创 2017-05-24 11:20:53 · 11274 阅读 · 2 评论 -
微信公众号接口开发:新增临时素材{"errcode":41005,"errmsg":"media data missing"}
三个文件:upload.phpclass.phpconfig.phpupload.phprequire_once("config.php");require_once("class.php");$accessToken = new AccessToken();$mediaID = new MediaID();$access_token = $access原创 2017-05-23 17:04:36 · 3550 阅读 · 1 评论 -
TuLing123聊天机器人PHP之demo
用的是web接口,官方demo只有java的,这里整理的是php的。$input = "yourInput";$apikey = "yourKey"; $info = json_decode(file_get_contents('http://www.tuling123.com/openapi/api?key='.$apikey.'&info='.$input),true);原创 2017-04-20 08:46:37 · 1533 阅读 · 0 评论 -
PHP HTTP/HTTPS请求(支持get和post)
function http_request($url,$data = null){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VER原创 2017-04-13 09:19:58 · 4392 阅读 · 0 评论 -
PHP的autoload自动加载机制实例
PHP 5 开始后,增加了自动加载机制,可以实现惰性加载。建议使用spl_autoload_register(),而不是__autoload() 。实例:1、新建class文件夹,用于存放calss文件,类文件命名方式:test.class.php,类名与文件名一致//类文件命名方式:test.class.phpcalss test{ function __constr原创 2017-03-17 10:49:40 · 640 阅读 · 0 评论 -
PHP PDO实例
try{$obj = new PDO('mysql:host=localhost;dbname=localhost' , 'root' , '123456');//生成PDO示例$obj ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//设置以异常的形式报错$obj ->setAttribute(PDO::ATTR_转载 2017-04-08 10:34:15 · 498 阅读 · 0 评论 -
PHP的unicode转uft8函数
PHP的unicode解码函数,unicode转utf8函数function decodeUnicode($str){ return preg_replace_callback('/\\\\u([0-9a-f]{4})/i', create_function( '$matches', 'return mb_convert转载 2017-03-05 18:06:51 · 777 阅读 · 0 评论 -
php中"{}"大括号的用法总结
在PHP中,大括号“{}”可以起到如下作用: 1、将多个独立语句合并为一个复合语句,例如 if ... else ...中经常如此使用 2、在变量间接引用中进行定界,避免歧义。例如 ${$my_var[8]}与${$my_var}[8]的区分 3、用于指示字符串变量中的单个字符(下标从0开始),例如 $my_str="1234";原创 2017-03-05 11:37:48 · 2506 阅读 · 0 评论 -
有赞直接打开优惠券中心提示404的解决办法
直接打开优惠券中心提示404的原因是因为登录信息失效了。原地址:https://shop192168.youzan.com/v2/coupons?reft=150909099090905&spm=sc1826778&sf=wx_sm增加kdt_id参数即可解决提示404:https://shop192168.youzan.com/v2/coupons?kdt_id=18205667原创 2017-09-15 19:30:37 · 1568 阅读 · 0 评论 -
ajax实现上传文件
主要应用到FormDatahtml代码 function doUpload() { var formData = new FormData($( "#uploadForm" )[0]); $.ajax({ url: 'index.php?m=index&v=st原创 2017-09-26 12:22:51 · 253 阅读 · 0 评论 -
PHP对二维数组进行双条件排序的实现
主要用到array_column和array_multisort函数 array_multisort(array_column($array,'item_clsno'),SORT_ASC,array_column($array,'item_no'),SORT_ASC,$array);然后是var_dump了。原创 2017-09-19 17:53:48 · 1074 阅读 · 0 评论 -
IIS+php的安装配置
将php程序包下载回来后,解压到指定的位置。下面开始IIS+php的配置:1、处理程序映射选择FastCgiModule ,如果没有,需要返回IIS添加CGI服务。2、ISAPI和CGI限制3、修改php.ini文件拓展模块:extension_dir = "D:\php\ext";extension=bz2extension=curl;exten...原创 2019-06-21 11:08:24 · 2478 阅读 · 0 评论 -
PHP curl 异步非阻塞推送微信公众号模板信息问题的解决
比较常见的是CURL和fsockopen了。但是fsockopen用起来个人觉得很麻烦(打开的方式不对?),需要证书什么的。直接上CURL吧。直接传url即可,timeout保持1。//PHP异步非阻塞function PHPAsync($url, $data=null, $timeout=1, $isProxy=false){ $curl = curl_init();...原创 2019-06-04 02:47:41 · 993 阅读 · 0 评论 -
IIS8.5+FastCgi+php7.2+thinkphp5.0的伪静态部署
1、修改php.inicgi.fix_pathinfo=12、将规则另存为web.config,放到public目录下。<configuration> <system.webServer> <rewrite> <rules> <rule name="...原创 2019-06-14 15:40:49 · 854 阅读 · 1 评论 -
钉钉通过code获取用户信息的实例(PHP)
namespace app\ding\controller;use think\Config;class Index{ public function getUserID($code) { $url = "https://oapi.dingtalk.com/user/getuserinfo?access_token=".$this->getAccessToken()."&...原创 2019-03-26 15:24:00 · 3793 阅读 · 3 评论 -
钉钉签名算法与hash_hmac函数的使用
1、在php中hash_hmac函数就能将HMAC和一部分哈希加密算法相结合起来实现HMAC-SHA1 HMAC-SHA256 HMAC-MD5等等算法。函数介绍如下:string hash_hmac(string $algo, string $data, string $key, bool $raw_output = false)algo:要使用的哈希算法名称,可以是上述提到的md5,sh...原创 2019-01-23 09:20:42 · 2153 阅读 · 5 评论 -
php7.2开启gd图形库
1、编辑php.ini2、搜索“ extension=gd2 ”3、把前面的“ ; ”去掉4、重启apache原创 2019-01-20 11:15:23 · 6276 阅读 · 2 评论 -
Undefined index: HTTP_REFERER的问题
最近遇到一个比较诡异的问题,就是$_SERVER变量的HTTP_REFERER不存在。提示Notice: Undefined index: HTTP_REFERER研究了一下,原来从https来路跳转过来,落地网页也要是https才行。...原创 2019-01-05 21:23:47 · 3512 阅读 · 0 评论 -
windows 安装php7.3 配合Apache2.4
1、下载Thread Safe版本的php7.3,因为只有Thread Safe版本的才有php7apache2_4.dll2、进入Apache的conf文件夹,编辑httpd.conf,在末尾添加:#php7 supportPHPIniDir "你的php路径"LoadModule php7_module "你的php路径/php7apache2_4.dll"AddType ap...原创 2019-01-10 15:37:34 · 6300 阅读 · 1 评论 -
PHP7 匿名函数传参的例子
$order_id = 12;DB::transaction(function () use ($order_id) { $tmp = $order_id;});转载 2019-01-04 11:54:15 · 1307 阅读 · 0 评论 -
Centos7.5 php7.2 安装pdo_sqlsrv 连接 sql server
一、加入微软的源curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo二、防止冲突先卸载原有版本(可选)yum remove unixODBC三、安装驱动(三个都要装上,缺一不可)yum install msodbcsql mss...原创 2018-09-30 18:18:26 · 8375 阅读 · 0 评论 -
Centos7.5 PHP7.2 连接sql_server 遇到fatal error: sql.h: No such file or directory
FreeTD的安装过程这里就不写,以免啰嗦。下面要讲的是PHP的sql server 拓展安装。php5.6等老版本默认带mssql的扩展,但php7.1以上就没有,所以需要手动下载并编译。pdo_sqlsrv扩展包 http://pecl.php.net/package/pdo_sqlsrv我下的4.3.0tar -zxvf pdo_sqlsrv-4.3.0.tgzcd ...原创 2018-09-30 17:36:19 · 4805 阅读 · 0 评论 -
IIS8.5 PHP7.2 no input file specified 问题的解决
改PHP.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS,OK。原创 2018-10-11 21:16:44 · 3157 阅读 · 0 评论 -
IIS8.5 php7.2 php-cgi.exe - FastCGI 进程意外退出 500错误解决办法
情况一:1、打开IIS8.5,打开应用程序池2、选中网站对应程序池,比如“DefaultAppPool”3、选择右侧的“设置应用程序池默认设置”4、如图设置:5、最后,确定保存就行。情况二:进入php目录,双击php-cgi.exe,如果提示下图:则下载vc_redist.x64即可:https://aka.ms/vs/16/release/VC_redis...原创 2018-10-11 20:43:40 · 5295 阅读 · 0 评论 -
PDO中表名为参数的使用方法
这个是pdo规定的,如果你想表名是变量,可以改成$sqlstr = "select * from ".$table." where id=?";这种方式。原创 2018-07-20 11:14:06 · 695 阅读 · 0 评论 -
PHP 通过命名空间引用变量类名的实现
例子:$className = 'Test';正常:new \allClass\Test();出错:new \allClass\$className();只需要这样就可以new了:$className = 'allClass\\'.$className;$obj = new $className;注意加了双左斜杠。原创 2018-01-05 20:16:01 · 3799 阅读 · 0 评论 -
腾讯AI鉴权demo(PHP版)
<?php /*腾讯AI鉴权DEMO适用于POST方式鉴权@梁永烨2017年11月24日*/$ai = new AI();$textChat = $ai->textChat('你的app_id','你的app_key','广州天气','你的session');echo ''; var_dump($textChat);echo '';class原创 2017-11-24 11:12:04 · 3235 阅读 · 0 评论 -
get请求表单的action属性后不能带参数
如果GET请求的表单action属性中已经包含参数,浏览器会直接将其过滤掉,再附加form表单数据。因此,GET请求方式的表单的action属性中不能附带任何参数,如果需要附加额外的参数,可以采用如下方式:1、将get改为post2、增加隐藏域,比如:3、通过js绑定点击事件,一般情况下不建议使用js原创 2017-10-21 09:52:51 · 484 阅读 · 0 评论 -
PHP json中的大括号和中括号
当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串。而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串。当字符串为[1,1,1] 这种模式时,json_decode默认解析出来的结果是一个数组。当字符串为{"1":1,"2":1} 这种模式时,json_deco原创 2017-02-25 19:22:01 · 5171 阅读 · 0 评论 -
PHP_EOL换行符的使用
PHP_EOL是一个些已经定义好的变量,代表php的换行符,这个变量会根据平台而变,在windows下会是/r/n,在linux下是/n,在mac下是/r.换行就按下面的就可以了。$str = str_replace(PHP_EOL, '', $str);原创 2017-02-25 11:37:47 · 1594 阅读 · 0 评论