include和require的区别

include是有条件包含
require是无条件包含

if($something) {
    include('somefile.txt'); //条件满足是包含
}

if($something) {
    require('somefile.txt'); //不管判断是否魏真,都包含
}

脚本开始执行时刻

$_SERVER[‘REQUEST_TIME’]好于time()

$row[‘id’]的速度是$row[id]的7倍

请求参数捕获

  • get请求
$_GET //数组
  • post请求(非文件上传)
$data = file_get_contents("php://input"); //输入流
json_decode($data, true) // 数组
  • 文件上传
$_FILES//数组

php://output输出流

<?php
$output = fopen('php://output', 'w');
fwrite($output, '111');
fclose($output);
//2 Http模式通过php://output导出csv文件
//注意 以UTF8编码导出CSV文件,如果文件头未添加BOM头,使用Excel打开会出现乱码
<?php
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="test.csv"');
$output = fopen('php://output','w') or die("Can't open php://output"); 
//UTF8 csv文件头前需添加BOM,不然会是乱码
fwrite($output, chr(0xEF).chr(0xBB).chr(0xBF)); 
// 输出标题行
fputcsv($output, array('站点名', '域名', '行业')); 
//数据内容
$rows = array(
    array(‘111', 'http://tmall.com', '电子商务') ,
    array(‘222', 'http://aiezu.com', '互联网技术') ,
    array(‘333', 'http://qq.com', '社交网络’)
);
foreach($rows as $row) {
    fputcsv($output, $row);
}
fclose($output) or die("Can't close php://output”);

tp5.0.24优化

  • 数据库表结构缓存 成功之后会在 runtime 目录下生成一个schema目录 目录下按照database.table.php的缓存文件

php think optimize:schema

  • 生成路由缓存 成功之后会在 runtime 目录下生成一个route.php

php think optimize:route

  • 生成类库映射文件 成功之后会在 runtime 目录下生成一个classmap.php

php think optimize:autoload

  • 生成配置缓存文件 成功之后会在 runtime 目录下生成一个init.php

php think optimize:config

fastcgi_finish_request

输出内容到客户端,进程不停止。处理其他耗时任务

register_shutdown_function

register_shutdown_function程序运行结束之前调用,在fastcgi_finish_request之后调用

滚动至顶部