我想用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。
有人可以帮忙吗?
答案 0 :(得分:1)
你没有在fwrite()方法中传递文件名。试试这样。它工作..
$file = fopen('text.txt', 'a+');
fwrite($file, "a text");
fclose($file);
答案 1 :(得分:0)
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守护进程!