无法在php中编写php文件

时间:2016-12-14 06:08:38

标签: php html

我可以使用以下代码编写.txt文件,但无法使用本地主机上的php文件(现有或使用以下代码新创建)。

它也正确地回显字符串长度,没有任何错误通知或警告

<?php
$file = fopen("test.php","w");
echo fwrite($file,"do not vote me down");
fclose($file);
?>

提前致谢

3 个答案:

答案 0 :(得分:3)

可能是所有权问题。尝试执行chmod -R 775 /var/www/folder和/或chown -R domain:www-data /var/www/folder - 其中domain是特定虚拟主机或www-data的用户

另外,要更新文件而不是重写,您可以使用追加选项 - 如果文件不存在,添加+将有助于首次创建文件。

$file = fopen("test.php","a+");
echo fwrite($file,"do not vote me down ab");
fclose($file);

如果您想更改文件的所有权,可以使用Php chown功能 -

chown('test.php','apache');

过度更改文件或文件夹的权限会重复使用此代码 -

exec ("find /path/to/folder -type d -exec chmod 0750 {} +");
exec ("find /path/to/folder -type f -exec chmod 0644 {} +");

答案 1 :(得分:0)

也许您的文件无法打开,因此您可以在fopen()之后添加die()函数,请查看以下代码: -

<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "Mickey Mouse\n";
fwrite($myfile, $txt);
$txt = "Minnie Mouse\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

答案 2 :(得分:0)

您的代码有效。只要test.php具有适当的文件权限,我就可以重写内容。