为了账号安全,请及时绑定邮箱和手机立即绑定

您好,请问PHP file_put_contents函数写入不了txt文件,该怎么办?代码如图

您好,请问PHP file_put_contents函数写入不了txt文件,该怎么办?代码如图

PHP C
慕尼黑5688855 2021-12-01 11:07:21
表单那些没有错,是user但是按注册以后数据不会写入txt里 怎么写? 我一打开网页的时候就有一个警告,为了美观我用@隐藏了,最关键我想知道怎么把user表单里面输入的内容按注册以后写入file.txt文本里
查看完整描述

3 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

在windows浏览器地址直接输入该php文件
检查执行结果是否如下警告:
Warning: fopen(xxx.txt): failed to open stream: Permission denied in /usr/local/www......
这是因为默认下selinux是开启的,会阻值修改文件。
查看SELinux状态:
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可

另外,如果以上还是不能解决的话要设置一下目录的权限策略
chcon -R -t httpd_sys_content_t /home/html


查看完整回答
反对 回复 2021-12-05
?
DIEA

TA贡献1820条经验 获得超2个赞

翻译:
file_put_contents(/PHP/admin/tp/runtime/temp/71dafaa2a0ea0d586666de9d67f301a7.php):无法打开流:权限被拒绝
解决办法:
文件或目录需要的权限是很大的,如果你只给一般权限肯定是不行的,通常都是给runtime权限:777

查看完整回答
反对 回复 2021-12-05
?
忽然笑

TA贡献1806条经验 获得超5个赞

1、查看一下你写入的文件路径是否正确

2、那个文件是否有写入的权限

3、file_put_contents方法是否存在

依据你给的代码图片,将其修改了一下,你试试看看行不行:


<?php    if($_POST['Submit'] == '注册'){        $a 'file.txt';        $c $_POST['user'];        // 如果$c是一个数组,先foreach循环 - 组装成需要写入发内容        if(is_array($c)){            foreach ($c as $k => $v) {                $html '这是写入的内容'."\r\n";                $html .= '写入的内容要是字符串!'."\r\n";                $html .= '.....';            }            $c $html;        }        // 写入        if(file_exists('file_put_contents')){            file_put_contents($a$c);        }else{            $handle fopen($a'w+');            fwrite($handle$c);            fclose($handle);        }    }?>



查看完整回答
反对 回复 2021-12-05
  • 3 回答
  • 0 关注
  • 884 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信