PHP file_put_contents函数写入不了txt文件 代码如图

表单那些没有错,是user但是按注册以后数据不会写入txt里怎么写?我一打开网页的时候就有一个警告,为了美观我用@隐藏了,最关键我想知道怎么把user表单里面输入的内容按... 表单那些没有错,是user但是按注册以后数据不会写入txt里 怎么写? 我一打开网页的时候就有一个警告,为了美观我用@隐藏了,最关键我想知道怎么把user表单里面输入的内容按注册以后写入file.txt文本里 展开
 我来答
相大之0o358
推荐于2016-02-12 · TA获得超过210个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:121万
展开全部

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);
}
}
?>

若有任何疑问,欢迎追问......

yx陈子昂
高粉答主

2015-10-21 · 每个回答都超有意思的
知道大有可为答主
回答量:3.2万
采纳率:75%
帮助的人:3837万
展开全部
在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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IT互联天下
推荐于2016-01-15 · 知道合伙人软件行家
IT互联天下
知道合伙人软件行家
采纳数:1437 获赞数:5161
PHP开发工程师

向TA提问 私信TA
展开全部

PHP 使用file_put_contents函数写入文件示例:

<?php
header("Content-type: text/html; charset=utf-8");
//文件目录[项目/test/]
$dor_path="test/";
//权限
@chmod($dor_path,0777);

//文件路径
$write_file=$dor_path."zhidao.txt";

//写入内容
$content="当前的时间戳是:".time();;
//判断写入
if (is_writable($write_file)) {
file_put_contents($write_file, $content."\r\n",FILE_APPEND);
echo "文件写入成功!".time();
}else{
echo "请检查zhidao.txt文件是否有写入权限!";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
剪辑客
2019-02-01 · 更多经典影视精彩镜头尽在剪辑客……
剪辑客
采纳数:825 获赞数:1656

向TA提问 私信TA
展开全部
翻译:
file_put_contents(/PHP/admin/tp/runtime/temp/71dafaa2a0ea0d586666de9d67f301a7.php):无法打开流:权限被拒绝
解决办法:
文件或目录需要的权限是很大的,如果你只给一般权限肯定是不行的,通常都是给runtime权限:777;
详细命令请参考:https://panxu.net/article/8394.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清水非水
2014-12-22 · 超过31用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:46.6万
展开全部
文件路径对么,文件写的权限有木有,,,,
追问

file.txt和我这个文件在跟目录 但如果把变量c随便改成123456这样就能写入 $_POST的提交方式就不能写入了 有权限写入的 而且表单是user

还有提示这个

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式