-1

如果包含/需要一个 php 文件,其中包含/需要一个fwrite函数,则不会写入任何文件!

写入的唯一方法是直接访问包含/必需的文件,以便log.txt可以开始写入活动。

有没有办法解决?

主文件

require("inside.php")

里面.php

//debug mode
$myFile = "test.txt"; $fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, "testing shiz"."\n"); fwrite($fh, "============="."\n");
fclose($fh);     

运行 main.php 时,文件不会写入。只有当 inside.php 运行时,它才会写入。

4

1 回答 1

0

我猜包含/必需的文件与调用它的文件不在同一目录中?这意味着它不会以您认为的方式结束。

例如:

www.domain.com/file.php具有以下内容:

include('directory/write_file.php');

如果 *write_file.php* 中有一个fwrite-statement ,比如说'log.txt',该文件将被放置在您的根文件夹中:www.domain.com/log.txt,因为file.php在您的根文件夹中,这是您当前的工作目录(如果需要,用于getcwd()获取当前工作目录)。

为确保文件放置在正确的位置,请使用绝对路径,例如:

/var/www/httpdocs/logs/log.txt

同样,您可以使用getcwd()-function 找出它必须是什么目录。

于 2013-04-10T20:11:13.653 回答