php进阶开发

php中str_replace如何实现只替换一次字符串

我们知道php中str_replace函数可以用来替换字符串,不过每次替换都是全部替换。如“hello world”,将“l”替换为“x”,可以用str_replace("l","x","hello world"),这时会帮字符串中"l"都会替换为"x",如果只想替换一次或两次该怎么操作?1、使用preg_replace函数来实现替换preg_replace函数有个参数 $limit,可以控制替换

如何通过php来给指定邮箱发邮件信息

我们经常会遇到这种需求,给指定邮箱发验证码或推广信息等。如何在php中实现给某个邮箱发送邮件功能这里我们使用phpmailer类来实现。首先我们需要安装phpmailercomposer require phpmailer/phpmailer下面我们就可以使用phpmailer来发送邮件了<?phpuse PHPMailer\PHPMailer\PHPMailer;//Lo

php如何通过pecl来安装扩展

首先我们需要安装pecl扩展库安装peclcd /www/server/php/74/bin/#切换到对应php版本执行路径wget http://pear.php.net/go-pear.phar -O go-pear.phpphp go-pear.php#按回车键默认安装安装php扩展pecl search keyword #查找扩展pecl install

PHP扩展和包的管理:PEAR、PECL、Composer介绍及比较

PEARPEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。http://pear.php.net/Bakken在1999年创立了PEAR项目,目标是试图定义一种标准,帮助开发者编写可移植、可重用的代码,避免重复发明“车轮”,代码均是PHP编写的。涵盖了页面呈现、数据库访问、文件操作、数据结构、缓存操作、网络协议、WebS

宝塔面板使用www用户执行计划任务命令 解决thinkphp日志权限问题

宝塔面板的计划任务默认执行用户是root,如果任务里有打印日志的操作,则自动创建的log文件也是root用户权限,而php的运行用户是www,对root用户创建的日志文件默认没有写权限,进而导致程序报错。此问题常见于 thinkphp、laravel等框架系统执行命令行脚本或队列脚本等。解决方案,可以使用下面三种方法1、以另一个用户身份运行命令sudo -u www php /www/wwwroo

thinkphp6下如何开发自定义指令,通过命令执行程序

我们知道默认使用nginx+php-fpm架构中web请求的程序会有执行超时限制、内存占用限制、用户关闭连接等。所以如果有个任务耗时非常多的话,需要通过队列执行或命令行脚本来执行php程序。thinkphp6中提供了简便的开发自定义指令来实现脚本功能。下面介绍执行步骤:创建自定义指令第一步,创建一个自定义命令类文件,运行指令php think make:command Hello hello会生

php如何安装msgpack扩展

近期有个项目安装需要用到php下msgpack扩展,这个扩展在bt里面不支持安装。所以要通过扩展源码进行编译生产对应的扩展。具体流程如下:1、在pecl官网搜索msgpack的源码包在网站http://pecl.php.net中进行搜索msgpack关键词然后根据搜索结果,点击正确的扩展链接地址。http://pecl.php.net/package/msgpack然后找到最新可用的扩展版本,如目

php 域名指向ip,如何在curl方式下url请求域名使用指定ip地址来访问某个服务器

如果某个域名对应多个ip,即有多台服务器。如何通过curl来访问指定一台服务器的url信息了。我们知道一般使用curl获取url信息的代码如下$url="https://www.phper163.com/";$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_TIMEOUT,5);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);

使用php代码导出表格方法(四)PhpSpreadsheet库使用

由于PHPExcel已经不再维护,PhpSpreadsheet是PHPExcel的下一个版本。PhpSpreadsheet是一个用纯PHP编写的库,并引入了命名空间,PSR规范等。这里使用PhpSpreadsheet库来实现导出表格的方法。这里表格导出实现了 单元格合并,居中、单元格宽度等设置。