PHP - 无法写入文件

时间:2015-12-22 10:31:35

标签: php fwrite

我想用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权限,没有错误消息,函数不会返回任何错误,但文件总是空的u_u。

有人可以帮忙吗?

4 个答案:

答案 0 :(得分:1)

你没有在fwrite()方法中传递文件名。试试这样。它工作..

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

答案 1 :(得分:0)

From the documentation

  

fputs - fwrite()的别名

然后:

  

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

尝试使用

fputs($file, "a text");

答案 2 :(得分:0)

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

  

PHP警告:fclose()期望参数1为资源,给定

为null

以下代码将完成工作:

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

?>

答案 3 :(得分:0)

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

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

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