PHP file_put_contents函数写入不了txt文件 代码如图
表单那些没有错,是user但是按注册以后数据不会写入txt里怎么写?我一打开网页的时候就有一个警告,为了美观我用@隐藏了,最关键我想知道怎么把user表单里面输入的内容按...
表单那些没有错,是user但是按注册以后数据不会写入txt里 怎么写? 我一打开网页的时候就有一个警告,为了美观我用@隐藏了,最关键我想知道怎么把user表单里面输入的内容按注册以后写入file.txt文本里
展开
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);
}
}
?>
若有任何疑问,欢迎追问......
展开全部
在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
检查执行结果是否如下警告:
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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文件是否有写入权限!";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
翻译:
file_put_contents(/PHP/admin/tp/runtime/temp/71dafaa2a0ea0d586666de9d67f301a7.php):无法打开流:权限被拒绝
解决办法:
文件或目录需要的权限是很大的,如果你只给一般权限肯定是不行的,通常都是给runtime权限:777;
详细命令请参考:https://panxu.net/article/8394.html
file_put_contents(/PHP/admin/tp/runtime/temp/71dafaa2a0ea0d586666de9d67f301a7.php):无法打开流:权限被拒绝
解决办法:
文件或目录需要的权限是很大的,如果你只给一般权限肯定是不行的,通常都是给runtime权限:777;
详细命令请参考:https://panxu.net/article/8394.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询