从php文档打开文件,并从另一个关闭它?
我正在尝试以下操作:从php文档打开文件,并从另一个关闭它?
打开一个文件,从php中说“myfile.json”,我们称其为“utils.php”;在其他的PHP页面中使用它;关闭它从另一个PHP。
我试图在其他文件中包含“utils.php”并在utils文件中写入,但似乎不起作用。我想这是因为utils.php从来没有被实际执行过,只包括在内,但是如果我应该执行它,我怎么能做到这一点,而不必刷新任何页面,最好是当用户登录主页时?这不应该被用户看到,他认为应该仍然是主页。
在此先感谢,我对PHP很陌生,正在努力学习。
当您包含文件时,您正在运行其中的所有代码。函数和类不会被评估,但会被定义以供将来使用。如果您以此示例打开文件:
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文件中创建的变量与此不同。
我认为我做了其他的错误。我试过这样的东西,但是错误实际上是在utils中。所以我认为当我将它包含在内时,我做的是错误的,而变量实际上没有定义。谢谢 – 2013-04-30 20:15:52
你想写入'utils.php'的是什么? – dbf 2013-04-30 19:48:46
只要脚本运行完毕,php资源就会自动关闭。我可以看到发生这种情况的最佳方式是,如果您将脚本作为接受连接的服务器运行,那么您可以打开关闭“服务器”上的资源(如脚本)而不是您的http脚本。 – 2013-04-30 19:53:06