PHP - 无法写入文件

PHP - Cannot write in a file

我想用 php 写入文件,但似乎没有任何效果:(

我尝试了我在互联网上看到的一切:

这个:

$file = fopen('text.txt', 'a+');
fputs($file, "a text");
fclose($monfichier);

还有这个:

$file = fopen('text.txt', 'a+');
fwrite($file, "a text");
fclose($monfichier);

还有这个:

file_put_contents("text.txt", "a text");

我也试过睡一觉(1);在 fclose 之前,但它没有改变任何东西

我的文件和目录获得了 777 权限,没有错误消息,函数没有 return 任何错误,但文件始终为空 u_u。

有人可以帮忙吗?

From the documentation

fputs — Alias of fwrite()

然后:

int fwrite ( resource $handle , string $string [, int $length ] )

尝试使用

fputs($file, "a text");

您没有像 this.Its 那样在 fwrite() method.Try 中传递文件名..

$file = fopen('text.txt', 'a+');
fwrite($file, "a text");
fclose($file);

你的代码 fclose($monfichier); 会给你以下错误:

PHP Warning: fclose() expects parameter 1 to be resource, null given

以下代码将完成工作:

<?php
$file = fopen('text.txt', 'a+');
fputs($file, "a text");
fclose($file);

?>

这是您显示的最相关且没有错误的代码。 (你之前的所有代码都有一些无效的语法)

file_put_contents("text.txt", "a text");

但这必须正常工作, 如果这也不起作用,我建议您寻找 允许写入作品的路径。

您可以编辑以将其添加到您的 php 配置文件中 (php.ini) 查找您所在的位置 php.ini

来自 windows 控制台

php --ini

或者用 php 内置函数回显它

php_ini_loaded_file();

在您的 php.ini 中验证(openbase_dir 文档页面) 并在需要时添加完整路径 php 允许正确的文件操作权限。

open_basedir = C:\you_path

http://php.net/manual/en/ini.core.php#ini.open-basedir

并且请检查您的错误日志,可能解决方案只是输入您的日志:) 然后在php.ini中,再次检查这一行是否正确填写

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

并且不要忘记在测试前重启你的 bundle httpd + php 守护进程!