
PHP
冰山上的柯莱
刚刚入行的PHP程序员,熟悉Laravel和ThinkPHP框架。石家庄Linux用户组(SJZLUG)群(群号:249872047)管理员。
展开
-
PHP开启OPcache缓存支持
修改php.ini文件: zend_extension=php_opcache.dll; opchahe.enable=1; opchace.enable_cli=1;注:1. 此功能PHP5.5及以上版本自带,5.2~5.4版本可使用PECL扩展中的OPcache库; 2.建议在开发环境下,关闭该功能以便调试。原创 2018-01-04 10:13:17 · 3518 阅读 · 0 评论 -
PHP直接生成Excel文档
Excel类源代码:class Excel{ function __construct($filename){ header('Content-Type:application/vnd.ms-excel'); header('Content-Disposition:attachment;filename='.iconv('utf-8', 'gb231...原创 2018-03-26 09:38:44 · 317 阅读 · 0 评论 -
is_file/is_dir和file_exists
is_file:判断文件是否存在 is_dir:判断目录是否存在 file_exists:判断文件/目录是否存在速度比较 is_file/is_dir file_exists 当目标文件/目录存在时 较快 较慢 当目标文件/目录不存在时 相同 相同...原创 2018-03-26 13:04:27 · 1371 阅读 · 0 评论 -
composer更新PHP框架(以Laravel 5.1框架为例)
一、修改根目录下的composer.json “require”:{ +    “intervention/image”:”~2.2”,#图形依赖插件,须开启fileinfo扩展 +    “mews/captcha”:”~2.0”,#Laravel用验证码包扩展 +&原创 2018-05-25 17:34:52 · 2799 阅读 · 0 评论 -
【ERROR】使用PHP输出法执行js-alert语句时显示乱码
Reason:字符串编码与服务器编码不统一Solution:输出语句之前加 “header(‘Content-Type:text/html;charset:utf-8’)”将输出的文本转化为gb2312格式原创 2018-06-11 08:51:51 · 276 阅读 · 0 评论 -
PHP引入文件
include用到时加载,在执行文件时每次都要进行读取和评估,引入错误时继续运行当前的代码。require一开始加载,将require语句替换成引入文件内容,文件只处理一次,引入出错时停止加载。总结如果是执行多次的代码,使用require效率更高。如果每次执行代码时都要读取不同的文件,或者是一组文件迭代的循环,则使用include。...原创 2018-09-28 08:57:49 · 878 阅读 · 0 评论 -
【ERROR】cannot use a scalar value as an array
Reason:将一个数组值赋值给数组中的某个元素。例如:$arr[0]=new array();Solution:语句变更为如下:$arr[0][]=new array();原创 2018-09-28 09:03:02 · 1040 阅读 · 0 评论 -
PHP编码转换
iconv(from_encoding, to_encoding, str)mb_convert_encoding(str, to_encoding[, form_encoding])iconv效率更高,但mb_convert_encoding兼容性更好。原创 2018-11-21 08:51:48 · 393 阅读 · 0 评论 -
【ERROR】使用file_get_contents抓取页面时出现failed to open stream:HTTP request failed
Solution:php.ini中启用allow_url_open并设置user_agent使用ob抓取页面ob_start();readfile($url);$text=ob_get_contents();ob_end_clean();使用curl抓取页面原创 2018-11-21 08:57:36 · 3454 阅读 · 0 评论 -
debug几法(以PHP为例)
一、查看错误信息例如,我先写一段代码:<?phpecho 5%0;这样一定会出错的,因为0不能做除数。页面上显示:php会直接输出这个除以0的致命错误的信息。二、直接输出法当我们执行一个很长的过程时出现了逻辑上的错误(语法上并没有错误,这种bug比较难解决),一时没有头绪,不妨先试着输出每个过程的执行结果,看看到底哪一步的执行脱离了预想的设计。这是最直接、最低效的调试方法...原创 2018-11-22 13:56:19 · 184 阅读 · 0 评论 -
使用递归方法获取子节点树(以PHP为例)
function getChild($arrs, $parentId){ $list=[]; foreach($arrs as $arr){ if($arr['parentId']==$parentId){ $arr['child']=getChild($arrs, $arr['id']); $list[]=$arr;...原创 2019-01-28 21:15:13 · 1452 阅读 · 0 评论 -
phpqrcode生成二维码参数一览
QRcode::png( $text,——转换成二维码的文本,必填项 $outfile=false,——生成本地文件名。默认不保存到本地,直接输出 $level=QR_ECLEVEL_L,——质量。默认为最低质量,还有QR_ECLEVEL_M、QR_ECLEVEL_Q、QR_ECLEVEL_H参数值 $size=3,——大小 $margin=4,——外边距 $saveandprint=...原创 2018-04-08 08:53:02 · 3724 阅读 · 0 评论 -
Laravel 5禁用csrf_token
在app\Http\Kernel.php中,将“App\Http\Middleware\VerifyCsrfToken”一行注释掉;在App\Http\Middleware\VerifyCsrfToken.php中,将“return parent::handle($request, $next);”一行改为“return $next($request);”;(5.1及以上版本用)在App\H...原创 2018-03-12 09:06:47 · 652 阅读 · 0 评论 -
Laravel 5.1分模块
文件结构:Controllers Home-HomeController Admin-AdminController/Home/HomeController.php:namespace App/Http/Controllers/Home/HomeControllers;/Admin/HomeController.php:namespace App/H...原创 2018-02-28 23:08:11 · 273 阅读 · 0 评论 -
PHP字符串分割及连接
字符串分割str_split($str) //将字符串以单个字符分解成数组explode($delimiter, $str) //将字符串按分隔符分割成数组(分隔符被删除),若分隔符为空字符串,则报警告字符串连接implode/join($glue, $arr) //将字符串数组用连接符连接成一个大字符串...原创 2018-02-23 07:13:27 · 403 阅读 · 0 评论 -
【ERROR】The active result for the query contain no fields
Reason:Laravel 5中使用DB::select()不能执行包含DML语句且需要获得返回值的SQL Server数据库的存储过程。Solution:将存储过程的执行结果存入特定的表中,然后再在这个表中查。修改存储过程,在存储过程体开头加入”set nocount on“以消除DML语句对返回结果的影响。...原创 2018-01-03 10:20:17 · 1843 阅读 · 0 评论 -
PHP由HTML生成Word文档及编码转换
Word类源代码:class Word{ function start(){ ob_start(); echo '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" ...原创 2018-01-03 11:15:53 · 3908 阅读 · 0 评论 -
Laravel、ThinkPHP、Yii对比表(请求篇)
&nbsp; Laravel 5 ThinkPHP 5 Yii 2 获取请求方法 $request-&gt;method request()-&gt;method() $request-&gt;method 是否GET $request-&gt;isMethod(‘get’) request()-&gt;isGet() $reques...原创 2018-01-04 09:32:55 · 5080 阅读 · 0 评论 -
Laravel 5.1和ThinkPHP 5.0引入自定义函数库
Laravel 5.1在bootstrap下新建common.php文件,在这里写入自定义函数。在bootstrap/autoload.php中末尾处添加如下语句:$compiledPath = __DIR__.'/common.php';if (file_exists($compiledPath)){ require $compiledPath;}Thin...原创 2018-01-04 09:41:18 · 1410 阅读 · 0 评论 -
Laravel 5和ThinkPHP 5获取控制器&动作名
laravel 5$actions=explode('\\', \Route::current()->getActionName()); //或$actions=explode('\\', \Route::currentRouteAction());$modelName=$actions[count($actions)-2]=='Controllers'?null:$act...原创 2018-01-04 10:01:49 · 3400 阅读 · 0 评论 -
PHP设置时区
一、修改配置文件(永久设置)修改php.ini date.timezone=Aisa/Shanghai或 date.timezone=PRC二、(PHP5及以上)使用函数(临时设置)ini_set(‘date.timezone’, ‘Aisa/Shanghai’)date_default_timezone_set(‘PRC’)注:Aisa/Shan...原创 2018-02-06 13:55:46 · 3063 阅读 · 1 评论 -
Apache 2.2和2.4版本在虚拟主机配置上的不同
2.2版本:<VirtualHost *:80> DocumentRoot "D:/www/_dev1" ServerName dev1 <Directory "D:/www/_dev1"> Directory Index index.html index.php ##索引目录 Order Deny Allow...原创 2018-01-03 11:27:11 · 327 阅读 · 0 评论 -
PHP框架最低支持PHP版本
ThinkPHP Laravel Yii (3.0)5.2 (4.0)5.3.7 (1.0)5.1 (3.1)5.2 (4.1)5.3.7 (1.1)5.1 (3.2)5.3 (4.2)5.4 (2.0)5.4 (5.0)5.4 (5.0)5.4 (5.1)5.6 (5.1)5.5.9 ...原创 2018-02-25 08:06:28 · 3420 阅读 · 0 评论 -
【ERROR】session_start:open(/var/lib/php/session/sess-xxxx)failed.No such file or directory
Reason:没有该目录或访问该目录的权限Solution:建立该目录授予该目录(php运行用户,通常为www)能访问的权限原创 2019-01-28 21:20:12 · 2678 阅读 · 1 评论