随笔分类 -  PHP

摘要:原始数据包格式,按城市、区分类树: $array=array( array('id'=>'1','name'=>'北京市','pid'=>'0'), array('id'=>'2','name'=>'天津市','pid'=>'0'), array('id'=>'3','name'=>'和平区', 阅读全文
posted @ 2023-07-28 16:31 申文哲 阅读(216) 评论(0) 推荐(0) 编辑
摘要:前言:在项目开发中,某个功能的实现可能连续嵌套调用的多个公共方法,这个时候想排查整个链路调用了什么方法?都在什么位置调用,我们该如何操作呢? 首先想到的可能时使用打印全局变量$_SERVER,但此函数只是打印出初始调用的方法名。其实PHP已经提供了对应的堆栈链路函数:debug_backtrace( 阅读全文
posted @ 2020-12-07 21:26 申文哲 阅读(541) 评论(0) 推荐(0) 编辑
摘要:背景: 项目开发中经常使用fgetcsv()和fputcsv()函数高效导入导出Excel(csv)文件数据,但在使用fputcsv()函数导出Excel,遇到数值精度超出15位的列数据时,此列数据会将超出15位的值自定置为0,这是为什么?如何解决? 原因: 导出Excel/Csv文件时,列的数值精 阅读全文
posted @ 2020-09-22 16:26 申文哲 阅读(749) 评论(0) 推荐(0) 编辑
摘要:前言: 开发的时候有时需要提取一个长字符串里面的部分字符,常用于变量的查询、替换等。 场景: 假如我有一个hiveSQL语句,需求为:将变量{@date}替换成具体的日期,如20200526, select "F" as sex, c.moviename as name, avg(a.rate) a 阅读全文
posted @ 2020-05-26 20:31 申文哲 阅读(4976) 评论(2) 推荐(0) 编辑
摘要:Laravel \ Socialite \ Two \ InvalidStateException No message解决方法 在回调方法中添加 stateless()函数: $user = Socialite::driver('qq')->stateless()->user(); 此statel 阅读全文
posted @ 2020-05-05 16:20 申文哲 阅读(685) 评论(0) 推荐(0) 编辑
摘要:当我们在对数据进行csv文件转化的时候,经常需要对数据进行UTF-8、GBK的转码操作,如: iconv('utf-8', 'gbk', $value); 但是当在实际使用中,会遇到转化后的csv文件中部分数据乱码、部分行、列丢失的显现。 这类原因是:在使用iconv()函数时以上方法会遇到一些特别 阅读全文
posted @ 2020-04-20 19:28 申文哲 阅读(2075) 评论(0) 推荐(0) 编辑
摘要:背景: 当使用Laravel框架部署项目时,有时会出现在非默认/路由URL都不生效,页面报404错误。 原因: 其实此类问题的出现一般是因为配置Nginx目录时,Laravel项目部署在二级及以上的目录下才会出现的问题,原因如下: 举例:若部署在二级目录,则URL为:http://www.xxx.c 阅读全文
posted @ 2019-11-07 22:35 申文哲 阅读(236) 评论(0) 推荐(0) 编辑
摘要:LNMP安装的新环境,连接Mysql操作时,报此类问题的:FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in xxx 阅读全文
posted @ 2019-11-07 21:14 申文哲 阅读(6695) 评论(0) 推荐(0) 编辑
摘要:str_replace() 函数作用:以其他字符替换字符串中的一些字符(区分大小写)。 但是使用中往往会遇到一对多、多对多的字符串或者数组的替换,具体实现方法如下: 阅读全文
posted @ 2019-09-30 16:43 申文哲 阅读(589) 评论(0) 推荐(0) 编辑
摘要:场景: file_get_contents() 函数是用于将文件的内容读入到一个字符串中,是读取文件内容常用的函数之一。 但是有时在服务器上使用file_get_contents() 函数请求https 协议的url文件时会报错误,无法正确读取文件内容, 查看log日志,日志内容类似如下: 原因: 阅读全文
posted @ 2019-07-13 09:56 申文哲 阅读(22041) 评论(0) 推荐(1) 编辑
摘要:开发中经常定义一些公共函数(如:获取用户信息、csv导入导出等常用函数),方便控制层,模型层调用。 那么在Laravle框架中怎么使用? 方法如下: 1.在根目录app下新建公共目录Library/Util、公共函数Util.php,如app/Library/Util/Util.php(目录、函数用 阅读全文
posted @ 2019-05-21 19:30 申文哲 阅读(2518) 评论(0) 推荐(1) 编辑
摘要:CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。 一、CSV数据导入函数fgetcsv() fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段。 与 fgets() 类似,不同的是 fgetcsv() 解析读入的行并找出 CSV 格式的 阅读全文
posted @ 2019-03-13 10:26 申文哲 阅读(9428) 评论(7) 推荐(1) 编辑
摘要:问题: 利用url访问远程的文件、图片、视频时有时需要请求前判断url地址是否有效。 解决办法: (PHP 5, PHP 7) get_headers — 取得服务器响应一个 HTTP 请求所发送的所有标头。 利用PHP自带的函数get_headers(),利用http返回值是否存在200状态,来判 阅读全文
posted @ 2019-02-20 21:13 申文哲 阅读(2827) 评论(0) 推荐(1) 编辑
摘要:正常情况下,PHP执行的都是同步请求,代码自上而下依次执行,但有些场景如发送邮件、执行耗时任务等操作时就不适用于同步请求,只能使用异步处理请求。 场景要求: 客户端调用服务器a.php接口,需要执行一个长达10s-20s不等的耗资源操作,假如客户端响应请求时间为5秒(请求响应超时时间),5s以上无回 阅读全文
posted @ 2019-01-03 12:02 申文哲 阅读(10189) 评论(4) 推荐(2) 编辑
摘要:一、设置nginx的开机自启动方法 1.在/etc/init.d/目录下创建nginx文件 编写内容如下: 脚本来自nginx官方,地址:http://wiki.nginx.org/RedHatNginxInitScript 注意点:脚本标红处,需根据环境安装路径做自定义修改; 2.修改脚本文件权限 阅读全文
posted @ 2018-11-21 17:07 申文哲 阅读(2583) 评论(0) 推荐(0) 编辑
摘要:短链接,通俗来说,就是将长的URL 网址,通过程序计算等方式,转换为简短的网址字符串。 这样的话其好处为:1、内容需要;2、用户友好;3、便于管理。 实现短网址(short URL)系统比较流行的算法有两种 自增序列算法、 摘要算法 自增序列算法: 自增序列算法 也叫永不重复算法 设置 id 自增, 阅读全文
posted @ 2018-08-23 17:46 申文哲 阅读(13950) 评论(0) 推荐(1) 编辑
摘要:当我们修改Laravel默认Auth默认路径时,在点击logout按钮注销时,默认跳转的地址为项目的根目录, 若想设置成自定义的重定向路径,可以按照如下设置: 方法一: 在Auth \ LoginController中,您有: 将其更改为: 然后在LoginController中定义一个新方法log 阅读全文
posted @ 2018-08-21 16:56 申文哲 阅读(1987) 评论(0) 推荐(0) 编辑
摘要:首先了解下以下两个函数: 1.array_filter() 函数用回调函数过滤数组中的值。 2.array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名。(被返回的数组将使用数值键,从 0 开始并以 1 递增) 具体实现代码实例: 另外: array_filter() 函 阅读全文
posted @ 2018-08-10 16:36 申文哲 阅读(2703) 评论(0) 推荐(0) 编辑
摘要:首先了解下以下两个函数: 1.array_column() 返回输入数组中某个单一列的值。 2.array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多 个值相同,它将对下一个数组进行排序。 具体实现代码实例: 阅读全文
posted @ 2018-08-10 15:56 申文哲 阅读(127043) 评论(10) 推荐(21) 编辑
摘要:Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。 Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。 Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解 阅读全文
posted @ 2018-07-25 17:09 申文哲 阅读(3105) 评论(0) 推荐(0) 编辑