php
一些PHP的小知识
Leon Jens
毕业于大理大学数学与计算机学院计算机科学与技术专业;从事互联网WEB开发工作
展开
-
php json_encode /不转义,中文不转码
调用接口数据传输格式基本都使用json格式。我们一般使用json_encode($data,256)或json_encode($data,true) 来保证数据中的中文等特殊字符不被转码。但是,如果数据中含有URL或是有转义字符(如斜杆/),这些字符将被转义,前面加上\,如:http://www.xxx.com/xxxx 将会被转义成http:\/\/www.xxx.com\/xxxx 。这种情况下,若接口方未对数据进行json_decode的话,这种URL就是不合法的,你直接在浏览器访问也会访问不原创 2021-08-03 10:59:12 · 18363 阅读 · 0 评论 -
curl 请求HTTPS接口
$data = [......];$postData = json_encode($data,256);$apiUrl = 'https://xxxx.com/......';$ch = curl_init();$header = ['Content-Type:application/json;charset=UTF-8'];curl_setopt($ch,CURLOPT_URL,$apiUrl);curl_setopt($ch,CURLOPT_HTTPHEADER,$header原创 2021-07-27 09:28:58 · 305 阅读 · 0 评论 -
PHP curl 调用接口上传文件
$this->fileId = uniqid();$postData = array('file' => new \CURLFile($filePath)); // 获取到的文件是本地绝对路径$curl = curl_init();//设置提交的urlcurl_setopt($curl, CURLOPT_URL, $url);//设置头文件的信息作为数据流输出curl_setopt($curl, CURLOPT_HEADER, 0);//设置获取的信息以文件流的形式返回,而不是.原创 2021-05-13 10:49:31 · 823 阅读 · 0 评论 -
特殊字符正则匹配
/** * 验证字符串知否包含特殊字符(诺诺发票) * @param string $string * @return boolean * */public function hasSpecialCharacter($string){ // 正则表达式的特殊字符包括:. \ + * ? [ ^ ] $ ( ) { } = ! < > | : // 以上特殊字符需要做转义处理 $rst = preg_match('/^[\?ˉˇ\¨\〃々~‖…\‘\’\“\”.原创 2021-04-14 18:43:44 · 697 阅读 · 0 评论 -
Yii 2 windows环境下 运行控制台(console)任务以及输出中文乱码问题
1、控制台console/controller目录下新建一个控制器TestController继承yii\console\Controller,写一个测试方法:public function actionTest(){ //windows本地会乱码(windows默认编码是GBK),使用iconv('utf-8','gbk//IGNORE',$str)转码 $str = 'Yii控制台程序运行测试'; if(PATH_SEPARATOR==';'){ //PATH_SEPA.原创 2020-12-25 10:38:11 · 587 阅读 · 0 评论 -
php 学习相关链接
社区thinkphp的:http://www.thinkphp.cn/topic/index.htmllaravel的:https://learnku.com/laravel和https://www.golaravel.com/yii社区:https://www.yii-china.com/csdn的php板块:https://bbs.csdn.net/forums/PHP思否:https://segmentfault.com/t/php...原创 2020-12-17 16:54:35 · 98 阅读 · 0 评论 -
ajax 上传文件(图片为例)
html :<div class="annex"> <div id="annex-imgs"> <!--图片回显区--> </div> <div class="upload-img" id="uploadImgBtn"><!--背景用图片覆盖input(input太丑了)--> <input class="fileInput" type="file" name="fil原创 2020-12-04 10:33:54 · 236 阅读 · 0 评论 -
Yii 报错 - Warning: The use statement with non-compound name ‘Yii‘ has no effect in
Yii 报错 : Warning: The use statement with non-compound name 'Yii' has no effect in这个是因为报错级别太高了,可以修改降低报错级别:在入口文件配置的最前面加上:error_reporting(E_ALL^E_NOTICE^E_WARNING);error_reporting(0); //不显示报错,上线时可以使用error_reporting(E_ERROR | E_WARNING | E_PARSE);/..原创 2020-11-30 12:57:07 · 789 阅读 · 0 评论 -
PHP 使用unserialize()反序列化报错问题
1、问题描述:序列化的数组值中包含有英文下的双引号(“)、单引号(‘)、斜杆(\)等特殊字符,反序列化时会报如下错误:Notice: unserialize(): Error at offset 130 of 131 bytes in2、问题分析:使用unserialize函数将数据反序列化时报错,后来发现是将gb2312转换成utf-8格式之后,每个中文的字节数从2个增加到3个之后导致了反序列化的时候判断字符长度出现了问题,所以需要使用正则表达式将序列化的数组中的表示字符长度的值重新计算一..原创 2020-08-07 21:10:32 · 1086 阅读 · 0 评论 -
laravel 验证码的导入与使用(mews/captcha)
一、引入使用composer引入:composer require mews/captcha=version(如v3.0.1)引入成功后更新composer :composer update二、引入成功后配置:config/app.php 文件中的providers中加入:Mews\Captcha\CaptchaServiceProvider::class,aliases中加入:'Captcha' => 'Mews\Captcha\Facades\Captcha',co原创 2020-08-07 21:04:39 · 638 阅读 · 0 评论 -
larvel composer创建 控制器-模型-数据工厂-种子
一、控制器:你可以在aap/Http/Controllers 下创建自己的控制器;composer 创建:DOS切换到项目下,执行-》php artisan make:controller Admin/LoginControler显示 Controller created successfully. 即成功ps : Admin为文件夹(这里是分前后台了)二、模型:你可以在aap/Http 下创建自己的模型;composer 创建:-》php artisan make:原创 2020-08-07 21:01:34 · 301 阅读 · 0 评论 -
Composer安装与全局配置
一、composer简介Composer是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。二、composer安装配置下载安装配置:1、 下载Composer-Setup.exe并安装;2...原创 2020-08-07 20:50:48 · 2490 阅读 · 1 评论 -
PHP变量写入到文件中
//将数组存入到PHP文件里。PHP文件里生成的是个数组$config_leadif(!function_exists('writeToConfigFile')) { function writeToConfigFile($configarr,$url) //$configarr 数组 ,$url文件路径 { $str = '<?php ' . "\r\n\r\n"; foreach ($configarr as $k => $val) { $str .= "\$con.原创 2020-08-07 15:35:50 · 784 阅读 · 0 评论 -
PHP读取文件夹下的子文件夹和文件信息函数
//函数说明:获取目录下的目录和文件信息,以数组的形式返回if(!function_exists('getDirsAndFiles')){ function getDirsAndFiles($dir,$lastdir){ //$dir为当前根的文件夹路径 $lastdir为$dir最后一层文件夹的名 $files=array(); if(is_dir($dir)){ //判断目录是否存在 if($handle=opendir(...原创 2020-08-07 14:49:53 · 404 阅读 · 0 评论 -
Apache如何配置端口转发
Apache配置端口转发1、为什么要做端口转发?有时候,服务器上的80端口被别的进程占用了,又不能kill那个进程。而我们通常访问网站只会在浏览器的地址栏输入域名,默认使用的是80端口。现在80端口被占用了,我们要部署的网站不能使用80端口了,而要使用其他端口。当在使用其他端口的情况下,也要达到只输域名就能访问到网站的目的,那就需要做端口转发。2、实现原理:在浏览器上只输入域名访问时,还是进入80端口的,我们只需要在Apache中判断80端口下访问的域名为我们的网站域名时,就把端.原创 2020-08-07 14:09:27 · 3065 阅读 · 0 评论 -
NGINX服务器配置伪静态文件的路径
NGINX服务器配置伪静态文件的路径1、新建一个伪静态文件,按NGINX的规则配置好伪静态;2、在NGINX安装环境下的conf->vhosts下新建一个域名_端口号.conf(www.xxxx.com_80.conf)文件,配置相关信息;可使用集成环境(小皮系统)自动生成;线上修改服务器对应的NGINX配置文件#配置文件server { listen 80; listen [...原创 2020-08-07 14:34:27 · 2053 阅读 · 0 评论