国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP包含文件

PHP 包含文件

PHP include 和 require 語(yǔ)句

在 PHP 中,您可以在服務(wù)器執(zhí)行 PHP 文件之前在該文件中插入一個(gè)文件的內(nèi)容。

include 和 require 語(yǔ)句用于在執(zhí)行流中插入寫(xiě)在其他文件中的有用的代碼。

include 和 require 除了處理錯(cuò)誤的方式不同之外,在其他方面都是相同的:

·         require 生成一個(gè)致命錯(cuò)誤(E_COMPILE_ERROR),在錯(cuò)誤發(fā)生后腳本會(huì)停止執(zhí)行。

·         include 生成一個(gè)警告(E_WARNING),在錯(cuò)誤發(fā)生后腳本會(huì)繼續(xù)執(zhí)行。

因此,如果您希望繼續(xù)執(zhí)行,并向用戶輸出結(jié)果,即使包含文件已丟失,那么請(qǐng)使用 include。否則,在框架、CMS 或者復(fù)雜的 PHP 應(yīng)用程序編程中,請(qǐng)始終使用 require 向執(zhí)行流引用關(guān)鍵文件。這有助于提高應(yīng)用程序的安全性和完整性,在某個(gè)關(guān)鍵文件意外丟失的情況下。

包含文件省去了大量的工作。這意味著您可以為所有網(wǎng)頁(yè)創(chuàng)建標(biāo)準(zhǔn)頁(yè)頭、頁(yè)腳或者菜單文件。然后,在頁(yè)頭需要更新時(shí),您只需更新這個(gè)頁(yè)頭包含文件即可。

語(yǔ)法

include 'filename';

或者

require 'filename';


PHP include 和 require 語(yǔ)句

基礎(chǔ)實(shí)例

假設(shè)您有一個(gè)標(biāo)準(zhǔn)的頁(yè)頭文件,名為 "header.php"。如需在頁(yè)面中引用這個(gè)頁(yè)頭文件,請(qǐng)使用 include/require:

<html>
<head>
<meta charset="utf-8">
<title> php中文網(wǎng) (php.cn)</title>
</head>
<body>
<?php include 'header.php'; ?>
<h1>歡迎來(lái)到我的主頁(yè)!</h1>
<p>一些文本。</p>
</body>
</html>

實(shí)例 2

假設(shè)我們有一個(gè)在所有頁(yè)面中使用的標(biāo)準(zhǔn)菜單文件。

"menu.php":

echo '<a href="/">主頁(yè)</a>

<a href="/html">HTML 教程</a>

<a href="/php">PHP 教程</a>';

網(wǎng)站中的所有頁(yè)面均應(yīng)引用該菜單文件。以下是具體的做法:

<html>
<head>
<meta charset="utf-8">
<title> php中文網(wǎng) (php.cn)</title>
</head>
<body>
<div class="leftmenu">
<?php include 'menu.php'; ?>
</div>
<h1>歡迎來(lái)到我的主頁(yè)!</h1>
<p>一些文本。</p>
</body>
</html>

實(shí)例 3

假設(shè)我們有一個(gè)定義變量的包含文件("vars.php"):

<?php
$color='red';
$car='BMW';
?>

這些變量可用在調(diào)用文件中:

<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng) (php.cn)</title>
</head>
<body>
<h1>歡迎來(lái)到我的主頁(yè)!</h1>
<?php
include 'vars.php';
echo "I have a $color $car"; // I have a red BMW
?>
</body>
</html>

 

include不存在的文件

include "foo.php";

上面的代碼包含了一個(gè)叫foo.php的文件,如果文件不存在,執(zhí)行后代碼會(huì)出現(xiàn)下面的警告信息

Warning: include(foo.php): failed to open stream: No such file or directory in /var/www/web/test.php on line 3

Warning: include(): Failed opening 'foo.php' for inclusion (include_path='.:/usr/local/php/lib/php') in /var/www/web/test.php on line 3

 

設(shè)置絕對(duì)路徑

include 'C:\wamp\www\foo.php';

上面設(shè)置了絕對(duì)路徑,成功避開(kāi)了include_path的檢索,但是如果代碼COPY給別人使用,而別人使用的是D:\wamp或者E:\www怎么辦?

如果當(dāng)前腳本是C:\wamp\www\index.php,那么在index.php可以改為

 

include __DIR__ . '\foo.php';

還是前面的練習(xí),把相對(duì)路徑改為絕對(duì)路徑

once

include和require分別對(duì)應(yīng)了一個(gè)once函數(shù):

include_once和require_once

函數(shù)的功能沒(méi)有什么差異,主要的作用是避免重復(fù)包含.

模板的分離

既然使用include或者require包含其他的代碼,那么我們也可以把代碼分離到不同的文件中

<?php
$name = 'andy';
$age = 18;
?>
<h1><?=$name?> is <span><?=$age?></span> years old</h1>

<?php
$name = 'andy';
$age = 18;
require "template.html";


return

包含還可以玩出新的花樣,如果包含的是一個(gè)PHP文件,在被包含的文件中可以使用return語(yǔ)句

<?php                                           <?php

$arr = include "return.php";                              return ['a', 'b', 'c'];
print_r($arr);                                           ?>

?>

 

PHP include_path

 當(dāng)時(shí)候函數(shù)include(),require(),fopen_with_path()函數(shù)來(lái)尋找文件時(shí)候.在不設(shè)置include_path的情況下,這些函數(shù)打開(kāi)文件時(shí)候默認(rèn)的是以web根目錄去尋找.當(dāng)設(shè)置include_path以后,這些php函數(shù)就會(huì)先在指定的include_path目錄下面去搜索尋找

 1.include_path的意義 

當(dāng)時(shí)候函數(shù)include(),require(),fopen_with_path()函數(shù)來(lái)尋找文件時(shí)候.在不設(shè)置include_path的情況下,這些函數(shù)打開(kāi)文件時(shí)候默認(rèn)的是以web根目錄去尋找.當(dāng)設(shè)置include_path以后,這些php函數(shù)就會(huì)先在指定的include_path目錄下面去搜索尋找. 
其原理和window系統(tǒng)的環(huán)境變量相似,在window運(yùn)行cmd命令的時(shí)候,輸入一些cmd的命令之后系統(tǒng)會(huì)在其設(shè)定的環(huán)境變量里面去搜索這些命令是否存在,存在就可以執(zhí)行. 

QQ圖片20161009144823.png

2.include_path的設(shè)置 

第一種方法: 
修改php.ini文件中的include_path項(xiàng)。 
include_path = .:/usr/local/lib/php:./include 
第二個(gè)方法: 
使用ini_set方法。 
ini_set("include_path", ".:../:./include:../include");      
3.注意 
zendframework include 設(shè)置 index.php 

復(fù)制代碼代碼如下:

set_include_path('.' .PATH_SEPARATOR.'../library/' 
.PATH_SEPARATOR.'./application/models/' 
.PATH_SEPARATOR.'./application/lib/' 
.PATH_SEPARATOR.get_include_path()); 

PATH_SEPARATOR是一個(gè)常量,在Linux系統(tǒng)中是一個(gè)" : "號(hào),Windows上是一個(gè)";"號(hào)。 
所以編寫(xiě)程序時(shí)最好用常量 PATH_SEPARATOR 代替,否則如果系統(tǒng)從linux移植到win系統(tǒng)或反過(guò)來(lái)移植會(huì)出錯(cuò)! 
get_include_path取得當(dāng)前已有的環(huán)境變量,加上前面的設(shè)置就是新的系統(tǒng)include.


Weiter lernen
||
<html> <head> <meta charset="utf-8"> <title> php中文網(wǎng) (php.cn)</title> </head> <body> <div class="leftmenu"> <?php include 'menu.php'; ?> </div> <h1>歡迎來(lái)到我的主頁(yè)!</h1> <p>一些文本。</p> </body> </html>
einreichenCode zurücksetzen