php 文件
文件
require '文件';? 錯誤
include '文件';? 警告
系統(tǒng)會碰到一個執(zhí)行一次;如果對統(tǒng)一個億文件進行多次加載,那么系統(tǒng)會執(zhí)行多次
include_once 系統(tǒng)碰到多次,也只會執(zhí)行一次
require_once '文件'; 調(diào)用多次也是一次
include 和require 的區(qū)別:本質(zhì)都是包含文件,唯一的區(qū)別在于包含不到文件的時候,報錯的形式不一樣
include 的錯誤級別較輕:不會阻止代碼執(zhí)行
require 如果包含出錯代碼不再執(zhí)行,require后面的代碼不再執(zhí)行
------------------------------------
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() 關(guān)閉
fwrite() 寫出一段數(shù)據(jù)???
fgets() 讀一行數(shù)據(jù)
@ 開頭不會顯示警告
$f = fopen('data.txt','w'); fwrite($f,$oj); fclose($f); // >>>>>>>>>>>>>>>>>>>>>>>>> $r = fopen('data.txt','r'); while (!feof($r)){ // 多行需要循環(huán)讀取$sj = fgets($r);echo $sj; } fclose($r); // 或 echo file_get_contents('data.txt'); // 讀取全部?
php代碼的執(zhí)行流程
讀取代碼文件
編譯將php代碼轉(zhuǎn)換成字節(jié)碼(生成opcode)
zendengine 來解析 opcode 按照字節(jié)碼切進行邏輯運算
轉(zhuǎn)換成對應(yīng)的HTML 代碼
文件加載中原理
在文件加載(include 或者require) 的時候系統(tǒng)會自動的將被包含文件的代碼相當(dāng)于嵌入到當(dāng)前文件中
加載位置:在哪加載,對應(yīng)文件中的代碼嵌入的位置就是對應(yīng)的include位置
在php中被包含的文件是單獨進行編譯的
?
php 文件在編譯的過程中如果出現(xiàn)了語法錯誤,那么會失敗(不會執(zhí)行),但是如果被包含文件有錯誤的時候,系統(tǒng)會執(zhí)行到包含 inclide這條語句的時候才會報錯
?
加載路徑
絕對路徑
win 盤符/路徑/文件
linux /路徑/文件
相對路徑 從當(dāng)前文件所在目錄開始的路徑
./ 表示當(dāng)前文件夾
../上級目錄?
?
絕對路徑和相對路徑的加載區(qū)別
絕對路徑相對效率偏低,但是相對安全
相對路徑相對效率高些,但是容易出錯
轉(zhuǎn)載于:https://www.cnblogs.com/mysterious-killer/p/9917205.html
總結(jié)
- 上一篇: 在Teams app代码中enable
- 下一篇: 弹窗php整人_[整人小程序] 超级信息