文件
require '文件'; 错误
include '文件'; 警告
系统会碰到一个执行一次;如果对统一个亿文件进行多次加载,那么系统会执行多次
include_once 系统碰到多次,也只会执行一次
require_once '文件'; 调用多次也是一次
include 和require 的区别:本质都是包含文件,唯一的区别在于包含不到文件的时候,报错的形式不一样
include 的错误级别较轻:不会阻止代码执行
require 如果包含出错代码不再执行,require后面的代码不再执行
------------------------------------
json 文件
// encode >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> $arr = array(1,2,3,4,'ni','wo','ta',array('ni'=>'未知','wo'=>'小贤','ta'=>'是谁')); echo json_encode($arr); $obj = array('ni'=>'胡一菲','wo'=>'贱人曾','ta'=>'诺澜',array(-1,0,1)); echo json_encode($obj); // decode >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 解码 $oj = '{"ni":"胡一菲","wo":"贱人曾","ta":"诺澜"}'; $v = json_decode($oj); print_r($v);
-------------------------------------------------------
文件操作
fopen() 打开文件
fclose() 关闭
fwrite() 写出一段数据???
fgets() 读一行数据
@ 开头不会显示警告
$f = fopen('data.txt','w'); fwrite($f,$oj); fclose($f); // >>>>>>>>>>>>>>>>>>>>>>>>> $r = fopen('data.txt','r'); while (!feof($r)){ // 多行需要循环读取 $sj = fgets($r); echo $sj; } fclose($r); // 或 echo file_get_contents('data.txt'); // 读取全部
php代码的执行流程
读取代码文件
编译将php代码转换成字节码(生成opcode)
zendengine 来解析 opcode 按照字节码切进行逻辑运算
转换成对应的HTML 代码
文件加载中原理
在文件加载(include 或者require) 的时候系统会自动的将被包含文件的代码相当于嵌入到当前文件中
加载位置:在哪加载,对应文件中的代码嵌入的位置就是对应的include位置
在php中被包含的文件是单独进行编译的
php 文件在编译的过程中如果出现了语法错误,那么会失败(不会执行),但是如果被包含文件有错误的时候,系统会执行到包含 inclide这条语句的时候才会报错
加载路径
绝对路径
win 盘符/路径/文件
linux /路径/文件
相对路径 从当前文件所在目录开始的路径
./ 表示当前文件夹
../上级目录
绝对路径和相对路径的加载区别
绝对路径相对效率偏低,但是相对安全
相对路径相对效率高些,但是容易出错