猿学
勤而奋学,路方为坦途
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PHP Nginx反向代理时获取用户真实IP地址
PHP Nginx反向代理时获取用户真实IP地址。原创 2023-02-06 10:12:27 · 454 阅读 · 0 评论 -
jQuery文本值改变的事件绑定(input/span/div)
keypress:按键按下时触发事件(先响应事件,再显示输入结果(获得的是上一次结果),可能被输入法拦截)propertychange:属性改变时触发事件(不管是获得焦点还是value改变等)change:焦点离开时触发事件。focus:获得焦点时触发事件。keyup:按键弹起时触发事件。转载 2022-12-15 16:17:11 · 2686 阅读 · 0 评论 -
宝塔PHP 7.4 无法安装ZIP组件 undefined symbol: zip_libzip_version
宝塔PHP7.4安装完成后无法启动,报错如下:/www/server/php/74/sbin/php-fpm: symbol lookup error: /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/zip.so: undefined symbol: zip_libzip_version原创 2022-07-06 16:45:14 · 3619 阅读 · 2 评论 -
thinkphp5、thinkphp6命令行command执行控制器方法
最近做数据采集时总会遇到接口执行一段时间之后请求时间过长报404,命令行执行的完美解决这一问题,但之前没做过命令行执行thinkphp方法,找了好多资料,踏了不少坑,终于找到解决方法,下面将代码贴在下面特别鸣谢这一大神原文地址:tp5和tp6使用cli(cmd)模式调用控制器 | 时刻需tp51.command代码如下<?php/** * Created by 大师兄 * 派系: 神秘剑派 * 技能: zxc * Date: 2021/12/13 * Time: 1.转载 2022-03-18 11:52:10 · 6347 阅读 · 2 评论 -
php 外部读取protected受保护对象属性值取值
如果你有一串数据打印出来的值类似下面这种想要去除想要的属性值时可以参考此方法:object(App\User)#265 (28) { ["attributes":protected]=> array(47) { ["d"]=> int(0) ["t"]=> int(0) ["enable"]=> int(1) } ["original":protected]=> array(47) { ["d"]转载 2022-03-11 14:12:44 · 1403 阅读 · 0 评论 -
PHP SQL文件导入数据库
/* * 数据库文件导入 * $path sql文件路径 * $host 数据库链接地址(默认端口3306,其他端口连接地址为 host:端口号) * $user 数据库用户名 * $pass 数据库密码 * $database 选择的数据库 */ function input($path,$host,$user,$pass,$database) { //读取文件内容 ...原创 2022-01-25 10:46:26 · 1149 阅读 · 0 评论 -
php随机生成电话号码及联系人联系方式
封装函数随机生成电话号码function generate_name($count,$type="array",$white_space=false){$arr = array( 130,131,132,133,134,135,136,137,138,139, 144,147, 150,151,152,153,155,156,157,158,159, 176,177,178, 180,181,182,183,184,185,186,187,188,189,转载 2021-12-08 14:16:23 · 1348 阅读 · 0 评论 -
PHP随机输出最近一个月任一时间
function randomDate() { $begin = strtotime("now"); $end = strtotime("-1 Month"); $timestamp = rand($begin, $end); return date("Y-m-d H:i:s", $timestamp);}echo randomDate();原创 2020-08-28 16:12:04 · 441 阅读 · 0 评论 -
阿里云主机项目根目录指向public目录下
今天帮客户部署项目的时候第一次用云主机,ftp上传压缩包,进入阿里云主机后台文件管理器中解压缩,之后想要把项目根目录指到public目录下,查了一些资料,有说把public目录下的文件复制到根目录,想想有点麻烦,还需要改项目当中的文件路径,之后又找到一个新的简便方法记录下,方便同行参考:在根目录下新建.htaccess文件,内容如下<IfModule mod_rewrite.c> RewriteEngine on RewriteBase /RewriteCond %{REQUES原创 2020-07-23 16:41:17 · 1470 阅读 · 0 评论 -
PHP随机生成字母加数字的字符串
PHP随机生成字母加数字的字符串function GetRandStr($length) { $str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $len = strlen($str) - 1; $randstr = ''; for (...转载 2020-04-27 13:57:44 · 934 阅读 · 0 评论 -
php过滤除img外html标签
php过滤除img外html标签 /*过滤除img外html标签*/ function cleanhtml($str,$tags='<img><a>'){//过滤时默认保留html中的<a><img>标签 $search = array( '@<script[^>]*?>...转载 2020-04-24 11:34:16 · 474 阅读 · 0 评论 -
PHP正则匹配手机号、微信、QQ、座机固话
PHP正则匹配手机号、微信、QQ、座机固话,上代码,由于时间仓促,手机号需要优化,还请各位见谅$str = '业务咨询电话:010-87876787zdsdada';function number($str){ $str = strip_tags(trim($str)); if($str){ $phReg = "/[1][34578]\d{9}+/u";...原创 2020-04-23 09:58:22 · 956 阅读 · 0 评论 -
PHP读取文件夹下文件及子文件返回一维数组
PHP循环遍历读取文件夹下文件及子文件返回一维数组,话不多说上代码 function readFile($dir){ if(!is_dir($dir)) return false; $files = array(); $handle = opendir($dir); //opendir()函数的作用是:打开目录句柄 //每次使...原创 2020-04-22 15:33:09 · 522 阅读 · 0 评论 -
ThinkPHP6 ajax多文件上传
ThinkPHP6 ajax多文件上传HTML文件:<form enctype="multipart/form-data"> <input class='form-control' id='file_name' name='file_name[]' type="file" multiple> <button type="button" class...原创 2020-04-20 15:16:24 · 1696 阅读 · 0 评论 -
ThinkPHP6上传zip文件并解压缩
ThinkPHP6上传zip文件并解压缩function uploadFile($key){ $file = request()->file('file_name'); try{ // 验证文件格式 validate(['file'=>['fileExt' => 'zip','fileMime...原创 2020-04-16 13:38:15 · 1774 阅读 · 0 评论 -
PHP安装zip扩展,ZipArchive解压zip文件
PHP安装zip扩展,ZipArchive解压zip文件打印phpinfo();查看是否已经安装zip扩展及是否开启,未安装或开启按照如下方法操作http://pecl.php.net/package/zip下载相应php版本的Windows版本zip包。下载解压后,将php_zip.dll和php_zip.pdb这两个文件,复制到PHP安装目录下的ext文件夹下。然后修改p...原创 2020-04-16 10:31:26 · 3544 阅读 · 0 评论 -
PHP正则匹配联系方式手机号、QQ、微信、邮箱、固定电话
PHP正则匹配联系方式手机号、QQ、微信、邮箱、固定电话function contact($str=''){ if(!$str) die; $phone = '/^1[345789]\d{9}$/ims';//手机号匹配 $qq = '/^\d{5,12}$/isu'; $email = '/^[a-zA-Z0-9]+([-_.][a-zA-Z0-9]+)*@...原创 2020-04-15 17:48:15 · 1880 阅读 · 0 评论 -
最新2020年PHP面试题高频考点
1.php是什么,原理及运行机制php(HyPertext Preprocessor),超文本处理器,它是一种跨平台、开源、免费的脚本语言。语法吸取了C语言、JaVa、Perl的特点,主要适用于在web开发领域,以学习简单、开发快、性能稳定而受到欢迎。Php由SaPI、Main、Zend、Ext四部分构成,SaPI主要PHP的应用接口层,用于不同环境的适配;Main主要输入/输出、web通...原创 2020-03-18 09:31:27 · 612 阅读 · 0 评论 -
PHP设计模式——单例模式
PHP设计模式——单例模式解决整个项目中创建唯一对象的实例,一旦创建就会一直存在于内存中。单例模式使用最多的场景,是数据库连接操作。我们知道,生成一个对象的操作是用new函数来实现,但是new对象都会消耗内存,而且有时候对同一个对象,在不同文件中可能会生成多次,这就造成了系统资源的浪费。然而使用单例模式,则可以很好的避免这种情况。三私一公私有化静态属性 私有化构造方法 私有化克隆方...原创 2020-03-04 20:01:21 · 166 阅读 · 0 评论 -
php数据结构一:链表之双向链表
之前我们已看过php中链表的概念及单向链表(php数据结构一:链表之单向链表),今天我们来看链表的第二种类型——双向链表。 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。 双向链表图解:php实现双向链表...转载 2020-02-10 11:40:37 · 312 阅读 · 0 评论 -
php数据结构一:链表之单向链表
php数据结构一:链表百度百科对于链表给出如下定义: 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。每个节点可以存储任何数据类型。 相比于线性表顺序结构,操作复...原创 2020-01-07 10:35:47 · 344 阅读 · 0 评论 -
php isset()和empty()的区别
php isset()和empty()的区别empty()函数用于检查一个变量是否为空。empty() 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。empty() 5.5 版本之后支持表达式了,而不仅仅是变量。当 var 存在,并且是一个非空非零的值时返回 FALSE 否则...原创 2019-12-25 12:33:52 · 448 阅读 · 0 评论 -
php检测变量的数据类型
php检测变量的数据类型is_array() 函数用于检测变量是否是一个数组,如果检测的变量是数组,则返回 TRUE,否则返回 FALSE。is_null() 函数用于检测变量是否为 NULL。如果指定变量为 NULL,则返回 TRUE,否则返回 FALSE。is_bool() 函数用于检测变量是否是布尔型。如果变量是 boolean 则返回 TRUE,否则返回 FAL...原创 2019-12-24 21:50:29 · 1050 阅读 · 0 评论 -
PHP快速排序算法
PHP快速排序算法快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序 n 个项目要 O(n log n) 次比较。在最坏状况下则需要 O(n2) 次比较,但这种状况并不常见。事实上,快速排序 O(n log n) 通常明显比其他算法更快,因为它的内部循环(inner lo...原创 2019-12-24 11:58:36 · 658 阅读 · 0 评论 -
PHP实现RESTful API设计风格实例
PHP实现RESTful API设计风格实例REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想Rest架构的主要原则:1.网络上的所...转载 2019-12-13 10:35:54 · 1122 阅读 · 0 评论 -
北京某企业2019年PHP面试题
北京某企业2019年PHP面试题如下1.echo、print_r、print、var_dump的区别,平时你经常用哪些,为什么这么用echo 和 print 的区别共同点:首先echo 和 print 都不是严格意义上的函数,他们都是语言结构;他们都只能输出 字符串,整型跟int型浮点型数据。不能打印复合型和资源型数据;而区别是:echo 可以连续输出多个变量,而print只能...原创 2019-11-28 19:25:04 · 874 阅读 · 0 评论 -
PHP去掉数组中的空值
PHP去掉数组中的空值<?php$arr = array('',1,2,'',3,'');function delEmpty($arr){ return trim($arr);}print_r(array_filter($arr,'delEmpty'));运行结果:原创 2019-11-11 18:14:10 · 230 阅读 · 0 评论 -
php判断参数变量是否是整数的两种方法
1、如果你确定你的变量是数字,php有内置的判断函数:is_int 检测变量是否是整数;2、但是有时候往往我们接收到的变量是数字或数字字符串(如表单输入,它们通常为字符串),这样我们就不能用is_int()函数来简单判断是否为整数,我们需要用到is_numeric()和strpos()函数来判断是否为整数:(1)用is_numeric()函数判断是否为数字或数字字符串;(2)用strp...转载 2019-01-09 14:57:11 · 4063 阅读 · 0 评论 -
ThinkPhp5 delete方法ajax删除数据资源路由链接写法
ThinkPhp5 delete方法ajax删除数据资源路由链接写法HTML<html><head> <title>文章管理</title> <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"> </scri..原创 2019-01-14 17:58:00 · 1228 阅读 · 0 评论 -
Yii框架报错修复1:yii\web\Request::cookieValidationKey must be configured with a secret key.
Yii框架报错修复1:yii\web\Request::cookieValidationKey must be configured with a secret key.原因:防止cookie攻击的cookieValidationKey 未配置修复:在 basic\config\web.php 中随便输入字符串即可...原创 2019-01-07 14:48:27 · 2926 阅读 · 0 评论 -
php获取当天的零时和二十四时(0点和24点)
<?php$todayStart= date('Y-m-d 00:00:00', time()); //2019-01-17 00:00:00$todayEnd= date('Y-m-d 23:59:59', time()); //2019-01-17 23:59:59原创 2019-01-17 16:21:22 · 7315 阅读 · 1 评论 -
php函数:截断打印值(用于bug代码调试)
调试bug时,经常需要打印操作print_r()有没有感觉有点麻烦,写成函数之后加入到自动加载函数中,全局就可以调用了,省时省力,最近写程序一直在用,代码很简单,从Laravel中学习到的,希望对各位有帮助!function dd($str) { print_r($str); exit; }程序菜鸟,一直在路上。...原创 2018-12-25 16:16:23 · 413 阅读 · 0 评论 -
PHP时间格式化多少天前
/** * 时间日期格式化为多少天前 * @param sting|intval $date_time * @param intval $type 1、'Y-m-d H:i:s' 2、时间戳 * @return string */function format_datetime($date_time,$type=1,$format=''){ if($type == 1){ ...转载 2019-01-04 17:53:24 · 2000 阅读 · 0 评论 -
php截取指定长度字符串溢出部分“...”代替
列表页经常需要截取指定长度的字符串,为了美观,超出的部分一般用“...”代替,PHP代码如下:php截取指定长度字符串溢出部分“...”代替函数/** * 溢出省略 * $str为要进行截取的字符串,$length为截取长度 * 汉字算一个字,字母算半个字 */ function strCut($str,$length) { $str = trim($str); ...原创 2018-12-25 16:06:24 · 1550 阅读 · 0 评论 -
php写入txt文件追加
日常调试代码除了打印值之外,还有一种方法就是将内容写入txt文件<?php file_put_contents("test.txt", "PHP是最好的语言!", FILE_APPEND); ?>应用场景:1.打印值不生效2.文件上传失败时...... ...原创 2018-12-25 15:52:32 · 7753 阅读 · 0 评论 -
php查找判断二维数组中是否含有某个值
php判断二维数组中是否含有某个值$arr = array( array('a', 'b'), array('c', 'd'));in_array('a', $arr); // 此时返回的永远都是 falsedeep_in_array('a', $arr); // 此时返回 true 值function deep_in_array($value, $array)...转载 2019-01-04 17:28:18 · 14151 阅读 · 0 评论 -
php bug总结1:打印值与数据库内的值不相符
查看等号是否写成了赋值运算,即:==写成了=原创 2019-01-04 17:26:35 · 260 阅读 · 0 评论 -
php判断字符串中是否包含某个关键字
含有关键字: strpos('php判断字符串中是否包含某个关键字','关键字')!== false不含有关键字: strpos('php判断字符串中是否包含某个关键字','关键字')=== false...原创 2019-01-04 17:24:08 · 5811 阅读 · 0 评论 -
php图片等比例缩放生成缩略图
php图片等比例缩放生成缩略图/** * 缩略图生成 * @param sting $src * @param intval $width * @param intval $height * @param boolean $replace * @param intval $type 1、标识缩略图等比例缩放类型 ...转载 2019-01-15 15:44:26 · 882 阅读 · 0 评论 -
php删除文件及其子文件
php删除文件及其子文件/** * 删除目录(包括下面的文件) * @return void */function delDir($directory, $subdir = true) { if (is_dir($directory) == false) { return false; } $handle = opendir($director...转载 2019-01-15 15:46:06 · 835 阅读 · 0 评论