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之后调用