我正在尝试执行以下操作:
打开一个文件,从php-let称之为“myfile.json”,称之为“utils.php”;在其他php页面中使用它;从另一个php关闭它。
我试图在其他文件中包含“utils.php”并在utils文件中写入,但它似乎不起作用。我想这是因为utils.php永远不会被实际执行,只包括在内,但是如果我应该执行它,我怎么能这样做而不必刷新任何页面,最好是当用户进入主页面时?用户不应该看到这一点,他看到的应该仍然是主页。
先谢谢,我对php很新,我正在努力学习。
答案 0 :(得分:1)
当您包含文件时,您正在运行其中的所有代码。函数和类将不会被评估,但将被定义以供将来使用。如果以此示例打开文件:
util.php
<?php
$file_hand = fopen('/tmp/file.txt','r');
如果操作完成,您将拥有一个句柄。但是,变量$ file_hand是全局的。如果您需要使用函数来关闭它,您将需要以下代码来执行此操作:
other.php
function close_file(){
global $file_hand;
fclose($file_hand)
}
或者您可以将句柄作为参数传递,如:
function close_file($file_hand){
fclose($file_hand)
}
关闭文件的方式无关紧要。您必须确保您使用的变量与utils.php中创建的变量相同。如果你这样关闭:
function close_file(){
fclose($file_hand)
}
您在until.php文件中创建的变量与此不同。