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。
有人可以帮忙吗?
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 守护进程!
我想用 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。
有人可以帮忙吗?
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 守护进程!