2012-06-25 53 views
1

我創建了一個PHP站點,它有3個頁面,即A,B和C.A和B都將首先使用「require_once」 。有沒有辦法讓C頁知道這個電話是來自A還是B?我怎樣才能得到使用「require_once」頁面的網址

$_SERVER['HTTP_REFERER']沒有工作。

+0

出於好奇,到底爲什麼你需要知道什麼?你需要知道多少?你只需要區分兩者,或者你必須能夠準確地指出哪一個? – Wug

+0

在A和B中放置一個標籤,如$ tag =「A.php」; – nullpotent

回答

2

a.php只會

$page = 'A'; 
require_once 'C.php'; 

B.php

$page = 'B'; 
require_once 'C.php'; 

C.php

echo 'I was required by'.$page; 
+0

這意味着'$ page'變量需要在所有三個頁面上可用。 – Blaster

+0

是的,與require()調用相同 –

+0

只有在文件數很少的情況下,您的解決方案才適用。否則,在每個文件中包含$ page的初始化需要很長時間... – Jocelyn

2

可以在c.php使用debug_backtrace功能
您將得到來電文件和來電線路號碼。

$db = debug_backtrace(); 

echo "Calling file: ". $db[0]['file'] . ' line '. $db[0]['line']; 
0

嘗試$ _SERVER ['REQUEST_URI']。每php.net,

URI提供整個請求路徑(/directory/file.ext?query=string)

+0

謝謝。這是我尋找cuz的方式,我不想在調用頁面中添加任何額外的變量。抱歉,我沒有足夠的聲望投票。 – Gary

+0

沒關係。你能接受它作爲答案嗎? – aynber