簡體   English   中英

在 PHP 中,出於什么原因我不能包含來自外部文件的變量?

[英]In PHP, for what reasons can I not include a variable from external file?

如果我在 Page1.php 和 Page2.php 中定義了 $var 我有

//Page2.php
include('Page1.php');

echo $var;

出於什么原因它不會將 $var 的值打印到屏幕上? 這些文件位於同一目錄中,因此路徑應該不是問題。 我檢查了 php.ini 文件,並沒有真正讓我感到意外。 有任何想法嗎?

可能的原因:

  • 當前的工作路徑並不總是與文件的相同。 例如,如果 Page2.php 包含在更高級別,則該更高級別將是路徑。 請確保您已直接加載 Page2.php 或相應地移動 Page1.php。
  • 確保$var確實是您期望的那樣。 在 Page1.php 中回顯以確認。 (這也會檢查是否包含了正確的文件)
  • 如果來源不是那么簡單,請確保您沒有在任何地方取消定義/清除$var

我剛剛測試過:

page1.php:

<?php
$foo = "bar"
?>

page2.php:

<?php
include('page1.php');
echo $foo;
?>

這有效。

您可能需要檢查文件路徑。 var_dump() 也可以方便地檢查變量輸出。

如果是路徑問題,您會在錯誤日志中看到警告。 您也可以更改為 require 而不是 include ,這將變得很明顯。

echo getcwd();

您還可以打印您的工作目錄以找出問題所在。

$var 是在函數中創建的嗎? 如果是這樣,請確保您有

global $var;

在該函數中的第一個賦值之前。

檢查您是否關閉了整個error_reporting 也許包含出錯了,所以變量永遠不會被包含在內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM