2013-04-30 87 views
0

我正在尝试以下操作:从php文档打开文件,并从另一个关闭它?

打开一个文件,从php中说“myfile.json”,我们称其为“utils.php”;在其他的PHP页面中使用它;关闭它从另一个PHP。

我试图在其他文件中包含“utils.php”并在utils文件中写入,但似乎不起作用。我想这是因为utils.php从来没有被实际执行过,只包括在内,但是如果我应该执行它,我怎么能做到这一点,而不必刷新任何页面,最好是当用户登录主页时?这不应该被用户看到,他认为应该仍然是主页。

在此先感谢,我对PHP很陌生,正在努力学习。

+0

你想写入'utils.php'的是什么? – dbf 2013-04-30 19:48:46

+0

只要脚本运行完毕,php资源就会自动关闭。我可以看到发生这种情况的最佳方式是,如果您将脚本作为接受连接的服务器运行,那么您可以打开关闭“服务器”上的资源(如脚本)而不是您的http脚本。 – 2013-04-30 19:53:06

回答

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文件中创建的变量与此不同。

+0

我认为我做了其他的错误。我试过这样的东西,但是错误实际上是在utils中。所以我认为当我将它包含在内时,我做的是错误的,而变量实际上没有定义。谢谢 – 2013-04-30 20:15:52

相关问题