php 文件

文件

  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 /路径/文件

  相对路径 从当前文件所在目录开始的路径

    ./ 表示当前文件夹

    ../上级目录 

绝对路径和相对路径的加载区别

  绝对路径相对效率偏低,但是相对安全

  相对路径相对效率高些,但是容易出错

原文地址:https://www.cnblogs.com/mysterious-killer/p/9917205.html