include('./code.php');
如何工作?我知道它相當於讓代碼「直接粘貼」在發生包含的位置,但是,例如:在PHP中,include()如何正確工作?
如果我有兩個頁面,即page1.php
和page2.php
,其中我需要操作不同的變量和函數./code.php
,是否include()
創建./code.php
的副本,還是它實質上鍊接回到實際頁面./code.php
?
include('./code.php');
如何工作?我知道它相當於讓代碼「直接粘貼」在發生包含的位置,但是,例如:在PHP中,include()如何正確工作?
如果我有兩個頁面,即page1.php
和page2.php
,其中我需要操作不同的變量和函數./code.php
,是否include()
創建./code.php
的副本,還是它實質上鍊接回到實際頁面./code.php
?
如果您include
是一個文本文件,它將在文檔中顯示爲文本。
include
確實不的行爲像複製粘貼:
test.php的
<?php
echo '**';
$test = 'test';
include 'test.txt';
echo '**';
?>
的test.txt
echo $test;
以上將輸出例如:
**echo $test;**
如果你要包括PHP文件,你還需要有PHP代碼<?php
和?>
。
而且,通常括號不include
後說,像這樣的:
include 'test.php';
在你的例子中,它的行爲完全像複製和粘貼。 –
@保羅 - 不,它沒有。如果它的行爲像複製和粘貼,結果會是這樣的:'** test **'。 –
不,它是一個.txt文件。改變擴展名.php,看看會發生什麼。 –
include('./code.php'); // The Same As Pasting The Code From Code.PHP.
在任何情況下它都不會重定向到Code.php。
基本上,在翻譯時擊中include 'foo.php';
聲明,它會打開指定的文件,讀取它的所有內容,取代了「有」與來自其他文件以及將碼位繼續解釋:
<?php
echo "hello";
include('foo.php');
echo "world";
變爲(理論值)
<?php
echo "hello";
?>
{CONTENT OF foo.php}
<?php
echo "world";
但是,所有這些只發生在內存中,而不是在磁盤上。沒有文件被更改或任何東西。
這取決於你如何包含code.php
文件。如果您將code.php文件包含到page1.php中,然後包含page2.php,那麼您將可以訪問它的變量,並且它只會「複製和粘貼」(僅用於使它更容易理解,因爲實際上那動力學如上所述)的文件中但是如果您鏈接,如:
[code.php]
include('page1.php');
include('page2.php');
然後code.php將有機會獲得所有的變量內page1.php中,但是:
所以爲了inherit
code.php的funcitonality inot都page1.php
和page2.php
一定要像做:
[page1.php]
include('code.php');
[page2.php]
include('code.php');
然後,它會按預期工作。所以只需要記住那裏。
我不確定我是否按照你的要求提問,但是你在問題開始時所說的內容是準確的。它基本上粘貼代碼 –
這裏的一些解釋http://php.net/manual/en/function.include.php – user710502