※ ChatGPTを利用し、要約された質問です(原文:プロパティファイルの読み込みについて)
プロパティファイルの読み込みについて
このQ&Aのポイント
PHPからプロパティファイルを呼び出し、ファイル内の値を表示する方法についてアドバイスをお願いします。
プロパティファイルの読み込みに関する問題で、PHPファイルの一部では正常に読み込まれるが、別のファイルでは読み込めずNULLが表示されるという状況が発生しています。
module.php内でプロパティファイルがうまく読み込まれない原因や対処法について教えてください。
お世話になります。
PHPからプロパティファイルを呼び出しプロパティファイル内の値を表示させるようにしたいと考えています。
ファイルはすべて同階層においてあります。
下記がソースの抜粋になります。
プロパティファイル
setting.prpperties
------------------------------------
PAGETITLE = "TOP"
SHOW_FLAG = "1"
------------------------------------
phpファイル1
top.php
------------------------------------
<?php
print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
$setting = parse_ini_file("setting.properties");
require_once './module.php';
?>
<html>
<head>
<title><?php print $word['PAGETITLE'];?></title>
・
・
・
</head>
<body id="back">
<?php print check();?>
・
・
・
------------------------------------
PHPファイル2
module.php
------------------------------------
function check(){
$hour = date( "H", time());
if($setting['SHOW_FLAG '] == 1 ){
print "True";
}else{
print "False";
}
この時、"top.php"の"<title><?php print $word['PAGETITLE'];?></title>"部分ではプロパティファイルが正常に読み込まれ”TOP”と表示されるのですが、”module.php”ではプロパティファイルが読み込めず”FALSE”となってしまいます。
”print $setting['SHOW_FLAG ']; ”として確認したところNULLでした。
試しに、”module.php”に”$setting = parse_ini_file("setting.properties");”を記述したのですが症状は改善しませんでした。”FALSE”は表示されているのでされているので”module.php”が読み込めていないわけでわないと思われます。
”module.php”の中でうまくプロパティファイルが読み込めない原因、または対処法に心当たりのある方がいましたらアドバイスをお願いいたします。
お礼
早速の回答有り難うございます。 変数のスコープ全く考えていませんでした。 私もグローバル変数としては使いたくないので、アドバイスいただいた引数として使う方で修正したところ無事解決できました。 ありがとうございました。