![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
php大杂烩
文章平均质量分 59
大杂烩
程序员达芬奇
代码如诗,编程如画,
键盘为笔,屏幕为纸。
算法如词,逻辑如章,
程序如歌,舞动着心。
工作如战,团队如兵,
合力攻城,攻克难关。
创新如风,思维如鹰,
开拓未来,放飞梦想。
技术如泉,不断涌现,
学习如养,不断成长。
码农之路,充满挑战,
但愿坚持,成就辉煌。
展开
-
网页转文件下载工具
为了更快捷copy博客。原创 2024-01-26 21:40:42 · 597 阅读 · 0 评论 -
3种CentOS定时备份网站的方法
CentOS 是一种流行的 Linux 操作系统,被广泛用于搭建服务器。PHP 是一种常用的服务器端脚本语言,很多网站都使用 PHP 来开发和运行。对于运行在 CentOS 上的 PHP 网站,定时备份是非常重要的,可以保护网站数据不会因为意外情况丢失。在 CentOS 上定时备份 PHP 网站有多种方法,下面我们将介绍几种常用的方式。转载 2024-01-25 10:49:51 · 176 阅读 · 0 评论 -
如何使用php函数来提升程序的性能
在开发Web应用程序时,性能是一个非常重要的因素。用户期望获得快速的响应和高效的操作体验。PHP是一种流行的服务器端开发语言,它提供了许多内置函数来完成各种任务。在编写PHP代码时,合理地使用这些函数可以显着提升程序的性能。本文将介绍一些常用的PHP函数,并给出具体的代码示例,以帮助开发者优化其程序。转载 2024-01-04 10:23:00 · 46 阅读 · 0 评论 -
php生成唯一ID的5种方法介绍
工作中使用到唯一ID的场景非常多,如临时缓存文件、临时变量、临时安全码等。uniqid()函数基于以微妙计的当前时间,生成一个唯一的ID。由于生成唯一ID与微妙时间关联,因此生成ID的唯一性非常可靠。生成的唯一ID默认返回的字符串有13个字符长,如果再结合MD5()函数,生成的唯一ID可靠性将更高,这种生成的ID比随机性的ID最大优点在于可实现排序,特别是一些需要存储在数据库中的值。当然在这里也可以加入随机数。原创 2024-01-02 14:25:48 · 1606 阅读 · 0 评论 -
PHP中的封装技巧
封装是PHP中重要的编程概念,通过封装我们可以实现数据的安全性、代码的模块化和复用。在使用封装时,我们应该选择合适的访问修饰符,并遵循一些最佳实践和专家建议。通过合理地使用封装,我们可以提高代码的质量和可维护性,为PHP开发带来更多的便利和效益。转载 2024-01-01 13:23:01 · 131 阅读 · 0 评论 -
PHP中你一定要知道和会用的几个特殊符号
PHP是一种面向Web开发的服务器端脚本语言,它具有简单易学、功能强大、扩展性好等特点,广泛用于构建动态网页和Web应用。PHP7是PHP编程语言的最新版本,相较于之前的版本,它引入了许多新特性和改进。本文将着重介绍PHP7新增的特殊符号及其用法,帮助开发人员更好地理解和应用这些特性。转载 2023-12-31 17:48:18 · 67 阅读 · 0 评论 -
让你了解一些PHP8的新功能
如果你还不了解 PHP 8,你就要被淘汰了。如今,让我们一起来聊聊 PHP 8 版本的强大之处,并展示一些具体的代码案例来展示 PHP 的强大功能。转载 2023-12-30 12:09:32 · 67 阅读 · 0 评论 -
php如何模拟登录和抓取数据
首先,我们需要定义登录目标网站的URL和登录表单的用户名和密码字段名。使用cURL库进行登录目标网站的操作是一种常见的方法,这可以帮助我们在脚本中模拟登录,以便在登录后进行进一步的操作,比如抓取数据。使用上述代码示例,我们可以方便地利用cURL库模拟登录目标网站,并在登录后执行进一步的操作。最后,我们可以关闭cURL句柄,并在登录后的页面上执行进一步的操作,比如抓取数据。接下来,我们需要创建一个cURL句柄,设置cURL选项并执行登录请求。接下来,我们可以检查是否有错误发生,并在有错误发生时进行处理。转载 2023-12-30 09:05:24 · 176 阅读 · 0 评论 -
php 使用 WebDriver 模拟浏览器做采集示例
总结:利用WebDriver技术,我们可以使用PHP语言来控制浏览器进行自动化操作,这对于采集信息、自动化测试等场景都有很大的帮助。要想运用好这项技术,除了掌握WebDriver的API之外,还需要对浏览器、页面结构等有一定的了解,这样才能写出高效、稳定的自动化脚本。下面,我们来实现一个简单的采集网站的例子。假设我们要采集的网站是https://www.baidu.com,我们想要获取百度的搜索框、搜索按钮和搜索结果的标题文本。因为搜索结果是一系列的文本链接,我们可以找到它们的CSS选择器,并遍历它们。转载 2023-12-29 18:07:25 · 543 阅读 · 0 评论 -
PHP设置脚本最大执行时间的三种方法
方法一主要适用于网站已经做好了,后期维护人员对代码结构不熟悉,方法二和三适用于写代码时候,不过不推荐使用方法二,因为要注意ini_set函数是否会被禁用。php.ini 中缺省的最长执行时间是 30 秒,这是由 php.ini 中的 max_execution_time 变量指定,如果脚本需要跑很长时间;3、通过set_time_limit 函数设置。这种情况就要更改php脚本最大执行时间。2、通过PHP的ini_set函数设置。1、在php.ini里面设置。转载 2023-12-28 21:19:11 · 263 阅读 · 0 评论 -
使用XHProf查找PHP性能瓶颈
XHProf是facebook 开发的一个测试php性能的扩展,本文记录了在PHP应用中使用XHProf对PHP进行性能优化,查找性能瓶颈的方法。原创 2023-11-23 21:24:42 · 795 阅读 · 0 评论 -
PHP常见算法
它的基本思想是:对于n个待排序的数列,取一个小于n的整数gap(gap被称为步长)将待排序元素分成若干个组子序列,所有距离为gap的倍数的记录放在同一个组中;首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;设置一个基准元素,通过排序将需要排序的数据分割成两个部分,其中一部分的所有数据比基准元素小,另一部分的所有数据比基准元素大,然后对这两部分数据分别进行递归快速排序,最后将得到的数据和基准元素进行合并,就得到了所需数据。快速排序是对冒泡排序的一种改进。原创 2023-09-05 19:56:33 · 794 阅读 · 0 评论 -
php 目录
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。原创 2023-06-25 10:19:57 · 605 阅读 · 0 评论 -
关于波兰式、逆波兰式
什么是波兰表达式、逆波兰表达式?我们日常的运算表达式通常是如下形式,这种成为中缀表达式,也就是运算符在运算数的中间。这种表达式人类人容易识别,并根据其进行计算,但计算机识别这种表达式非常困难。原创 2022-11-01 17:26:42 · 674 阅读 · 0 评论 -
php使用sqlserver
Microsoft][SQLServerNativeClient11.0]与SQLServer建立连接时发生了与网络相关的或特定于实例的错误。[08001][Microsoft][SQLServerNativeClient11.0]TCP提供程序由于目标计算机积极拒绝,无法连接。[Microsoft][SQLServerNativeClient11.0]无效的连接字符串属性(0);3、把扩展文件对应的版本移动到PHP对应的目录下的ext目录;1、安装ODBC程序。.........原创 2022-07-25 18:24:03 · 2185 阅读 · 0 评论 -
简述php文件上传原理
当我们点击提交表单时,会将file文件域里面的文件,先上传到临时的目录(可以在php的配置文件中设置),默认的临时目录是c如果需要持久的保存,需要通过php的函数move_uploaded_file()移动到指定的位置,如果不移动,当php脚本执行结束,临时文件就会消失。......原创 2022-07-19 21:09:56 · 637 阅读 · 0 评论 -
php存储密码
散列是在将用户密码存储在数据库中之前保护用户密码的标准方法。许多常见的哈希算法(如md5甚至sha1)对于存储密码是不安全的,因为。PHP提供了一个内置的密码哈希库,该库使用bcrypt算法,目前被认为是密码哈希的最佳算法。函数对密码进行哈希和比较。...原创 2022-07-16 23:46:43 · 254 阅读 · 0 评论 -
简述get与post请求
get请求特点:1、数据不安全 参数在请求头,暴露在url中2、提交的数据量小 http协议并没有限制url传递的参数长度,数据量大小取决于浏览器和服务器3、提交的数据类型单一,只能传递文本数据。4、get方式主要用于从服务器端获取数据。post请求特点:1、相对安全 参数在请求体,url中不可见2、提交的数据量大 理论上来说没有大小限制,http协议规范也没有进行大小限制,但实际上post所能传递的数据量根据取决于服务器的设置和内存大小,如php的momory_limit默认大小128M,原创 2022-07-13 21:31:50 · 814 阅读 · 0 评论 -
关于mysql group_concat不得不说的事
mysql中,group_concat函数将group by产生的同一个分组中的值连接起来,返回一个字符串结果。当查询的数据过多时,group_concat超出了默认值1024个字符,超过就会截断,导致group_concat查询出来的数据不全。好的,这是一个容易忽视的坑。解法1:https://www.freesion.com/article/2975170859/http://www.javashuo.com/article/p-zqzeqcby-ws.html解法2:不用group_concat原创 2022-07-13 12:20:29 · 2836 阅读 · 0 评论 -
php变量与它传值方式
程序只要在跑,那它就在操作内存(进行写入或读取内存),编程语言就是对内存进行操作。在面向对象中,万物皆可为对象,在内存中,一切数据皆是变量。什么是变量?变量就是在内存中开辟一个储存空间,这个空间有个名字就是变量名,变量名是对内存中储存数据的引用。常量也是一种特殊的变量,常量与变量的区别如下:常量定义后不能被修改、删除,并且只有变量才能用$符号修饰变量有普通变量、可变变量、预定义变量预定义变量如下:$_GET 用于接收前台表单使用get方式提交的数据$_POST 用于接收前台表单使用post方式提交的数据原创 2022-07-11 17:39:50 · 477 阅读 · 0 评论 -
关于mysql一次性批量操作,导致连接线程堆栈溢出问题
报错如下:SQLSTATE[HY000]: General error: 1436 Thread stack overrun: 246160 bytes used’mysqld --thread_stack=#’ to specify a bigger stack.解决方式一之简单粗暴改配置:这就是mysql的thread_stack连接线程的优化:原创 2022-07-11 11:11:44 · 772 阅读 · 0 评论 -
关于打印输出
输出语法1、echo ==== 输出标量数据,任何数据类型转为字符串输出2、print ==== 同上3、print_r ==== 可以输出数组,但输出bool类型需要转换,同上不转换输出为空4、var_dump ==== 打印调试,可以看到详细的信息 包括数据类型 和数据值5、sprintf ==== 格式化输出字符串 比如把字符串的数字保留两位数、改变成其他进制数字输出echo 与print 的三大区别第一、echo可以输出多个字符串(逗号分隔),print只能输出一个字符串第原创 2022-07-01 22:47:49 · 429 阅读 · 0 评论 -
php的错误机制
简单点说,是两大类四小级别1、编译错误编译时语法等错误,最容易解决。2、执行错误编译后,执行时阶段,根据报错级别来决定是否终止程序。其实还有一类不属于php的错误机制,是程序员认为的逻辑错误因为逻辑不清晰而产生的错误最难排查,执行成功,但最终的结果不是期望的。E_ERROR 致命错误,一旦发生就会中断程序的执行。 如连续两次使用相同名称来定义一个函数E_WRRING 警告错误,一旦发生并不会中断程序的执行。E_NOTICE 提示错误,一旦发生并不会中断程序的执行。E_PARSE 编译错误,一旦发生就会原创 2022-06-28 23:05:47 · 165 阅读 · 0 评论 -
循环中curl请求
遇到一个需要大循环中curl请求接口,循环请求接口特别耗时,然后想着优化,curl中用curl_multi_init函数可实现批量请求,没成想优化是优化了,不顶用啊发现少量请求时用curl_multi_ini是ok的,五条请求都返回成功,而五千请求就才成功了两百多条,而单纯的curl耗时长却都成功了无所谓,实现了就好,最终结果都是为了确保在循环中请求都能成功。其中用单纯的curl的关键在于,兄台,自己看吧......原创 2022-06-27 23:12:40 · 1921 阅读 · 0 评论 -
php截取多余字符用省略号代替
字符串截取有时候会涉及到编码的问题,自己写的如果不完善很容易出现截取出现乱码的问题,以下的小函数功能块通常会用在截取文章描述和标题的时候。function cut_str($sourcestr,$cutlength){ $returnstr=”; $i=0; $n=0; $str_length=strlen($sourcestr);//字符串的字节数 while .........原创 2019-11-29 22:35:31 · 782 阅读 · 0 评论 -
完备的AI学习路线(一)基础知识之数学基础
首先看其完整的学习链接1、数学数学基础:高等数学https://zhuanlan.zhihu.com/p/36311622看了后是一脸蒙的,原来这就是传说中机器学习的基础数学知识…数学基础:线性代数https://zhuanlan.zhihu.com/p/36584206数学基础:概率论与数理统计https://zhuanlan.zhihu.com/p/36584335......原创 2019-09-12 22:07:40 · 1155 阅读 · 0 评论 -
完备的AI学习路线(二)基础知识之统计学
统计学入门教材:深入浅出统计学进阶教材:商务与经济统计推荐视频:可汗学院统计学http://open.163.com/special/Khan/khstatistics.html原创 2019-09-13 20:55:25 · 291 阅读 · 0 评论 -
完备的AI学习路线(三)基础知识之python编程
入门人工智能领域,首推Python这门编程语言。1) Python安装:Python安装包,我推荐下载Anaconda,Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本Python并存、切换以及各种第三方包安装问题。下载地址:https://www.anaconda.com/dow......原创 2019-09-19 22:10:55 · 411 阅读 · 0 评论 -
程序员的自我修养之抽空看点书
今天外出一趟,下午四点多回来,在这期间抽空在”看云“看了一本书挺不错的书《程序员的自我修养》:https://www.kancloud.cn/kancloud/a-programmer-prepares/78161...原创 2019-07-05 23:09:14 · 170 阅读 · 0 评论 -
git的使用教程(附大佬的GitHub)、中文手册、搜索项目技巧和它与SVN区别
这里只需看看别人博客就知道:1,两小时学会Git玩转Github:https://blog.csdn.net/tichimi3375/article/details/79844514(2016年版本较旧,但讲解很不错):2,大佬的GitHub:https://blog.csdn.net/rj597306518/article/details/713077573,:SVN与Git的最主要的区别......原创 2019-07-03 10:39:46 · 170 阅读 · 0 评论 -
php学习手册(一)之基础语法
1,phpinfo()函数PHP的标记通过echo语句和phpinfo()函数,向用户展示PHP5 的配置信息,包括配置文件所在目录以及一些相关扩展库的版本、作者信息等其代码如下:<?phpecho phpinfo(); //输出PHP配置信息。?>在实际的PHP项目开发的过程中。用户加载的任何一个组件,在phpinfo()函数的输出页面......原创 2019-06-29 00:07:49 · 1601 阅读 · 0 评论 -
php学习手册(二)之基础语法
定界符 EOF(heredoc)PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。使用概述:必须后接分号,否则编译通不过。EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。结束标识必须顶格独自占一行(即必须从行首开始,前后......原创 2019-09-15 15:18:22 · 178 阅读 · 0 评论 -
PHP代码优化建议
PHP代码优化建议用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。row[′id′]的速度是r......转载 2019-10-07 22:57:17 · 275 阅读 · 0 评论 -
复习tp3.23(四)(变量与路由)
ThinkPHP3.2.3变量首先我们来学习如何在ThinkPHP中使用变量和对变量进行过滤。在Web开发过程中,我们经常需要获取系统变量或者用户提交的数据,这些变量数据错综复杂,而且一不小心就容易引起安全隐患,但是如果利用好ThinkPHP提供的变量获取功能,就可以轻松的获取和驾驭变量了。获取变量虽然你仍然可以在开发过程中使用传统方式获取各种系统变量,例如:$id = $_GE......原创 2019-09-28 22:36:14 · 493 阅读 · 0 评论 -
复习tp3.23(七)(Action参数绑定,空操作和空控制器,初始化、前置和后置操作,页面跳转和重定向,页面请求和AJAX,伪静态,操作绑定到类,多层控制器,自动验证,自动完成)
ThinkPHP3.2.3Action参数绑定我们陆续为大家介绍下控制器的一些高级特性用法,让你更深入了解ThinkPHP控制器的独特功能。Action参数绑定在之前的内容中,涉及的控制器操作方法都是没有任何参数的,其实ThinkPHP可以支持操作方法的参数绑定功能。Action参数绑定是通过直接绑定URL地址中的变量作为操作方法的参数,可以简化方法的定义甚至路由的解析,其原理是把URL中......原创 2019-10-03 22:33:37 · 783 阅读 · 1 评论 -
复习tp3.23(六)(循环和控制输出,公共模板和模板布局)
ThinkPHP3.2.3循环和控制输出我们来进一步了解如何进行模板数据的循环和控制输出。注意,本篇的描述仅针对使用内部模板引擎的情况,如果你使用了Smarty或者其他模板引擎,请参考其相关的变量输出语法。循环输出循环输出主要是使用volist和foreach标签输出。VOLISTvolist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一......原创 2019-10-02 18:55:44 · 907 阅读 · 0 评论 -
复习tp3.23(五)(视图和变量输出)
ThinkPHP3.2.3视图在了解了控制器和模型操作后,我们开始熟悉视图部分,ThinkPHP中的视图主要就是指模板文件和模板引擎,本篇首先了解下模板定义以及如何进行模板赋值并渲染输出的。模板定义每个模块的模板文件是独立的,为了对模板文件更加有效的管理,ThinkPHP对模板文件进行目录划分,默认的模板文件定义规则是:视图目录/[模板主题/]控制器名/操作名+模板后缀默认的视图目录是......原创 2019-10-01 21:14:30 · 602 阅读 · 0 评论 -
复习tp3.23(三)(主要讲连贯操作)
ThinkPHP3.2.3连贯操作上一篇我们详细描述了查询语言的用法,但是查询语言仅仅解决了查询或者操作条件的问题,更多的配合还需要使用模型提供的连贯操作方法。介绍连贯操作可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作,也是ThinkPHP的ORM(Object Relational Mapping,对象关系映射,模式是一种为了解决面向对象与关系数据库存在的互不匹配......原创 2019-09-19 16:19:56 · 522 阅读 · 0 评论 -
复习tp3.23(二)(主要讲查询)
1、多字段查询2、表达式查询3、快捷查询4、组合查询5、组合查询6、复合查询7、统计查询8、SQL查询9、execute方法10、动态查询一、getBy动态查询二、getFieldBy动态查询11、子查询......原创 2019-09-18 20:55:46 · 176 阅读 · 0 评论 -
稍微整理一下tp3.23电商项目实现流程
tp3.23电商1、项目部署1-1、配置虚拟主机(解析个本地域名)1-2、使用TP生成项目应用代码(拷贝ThinkPHP框架文件)1-3、手动创建后台模块(复制Home文件夹改名为Admin,当然,有个自动生成后台模块方法是在入口文件index.php加上这一行代码define(‘BIND_MODULE’,‘Admin’);访问一次首页会自动生成后台Admin模块,然后把这一行代码注释或......原创 2019-07-24 17:56:08 · 1451 阅读 · 0 评论