linux下php fwrite无法写入文件怎么回事呀
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下php fwrite无法写入文件怎么回事呀相关的知识,希望对你有一定的参考价值。
需要先确认一下,用户对这个文件夹有读写权限,在fwrite将操作的文件夹外,执行ll命令,查看一下这个文件夹有没有w这个权限,如果没有的话,对上级目录执行以下chmod -R 733或者777授权命令,获得这个文件夹的写权限,才可以进行fwrite操作。如果已有这个权限的话,检查一下你的代码问题,也有可能是fwrite写文件路径的,文件夹名称的大小写问题,找不到具体路径,所以不能创建。 参考技术A 错误信息?
你检查一下 web 服务器什么的是不是还有地方禁止写了。
还有你要怎么写?之前有这个文件吗?还是说这个文件本身就是存在的?本回答被提问者采纳 参考技术B 那应该是linux本身的文件权限问题,更改一下文件权限
fwrite无法正常工作,并写入重复的信息
我是PHP的初学者,而fwrite函数存在一些问题。我需要将信息写在一行中,然后当用户使用该表单后,该表单的信息就会移到另一行中。
示例:
用户1:形成名称:约翰电子邮件:john@gmail.com
用户2:形成名称:邦妮电子邮件:bonnie@gmail.com
文件:姓名:Jhon |电子邮件:john@gmail.com名称:Bonnie |电子邮件:bonnie@gmail.com
表单运行正常,问题出在fwrite函数中。我尝试这样
$arquivo = fopen("info.txt", "a+");
$txt = $nome."|".$data."|".$cidade."|".$email."|".$senha."\r\n";
fwrite($arquivo, $txt);
fclose($arquivo);
以这种方式,每次重新加载页面时,都会复制以前的数据。
对不起,我的英语不好。预先感谢。
根据您在问题中所说的内容,功能和形式运行良好,但是代码会在刷新页面时触发。您需要做的是将您的write函数绑定到一个动作。
有两种方法可以做到这一点。
1] 仅使用php和HTML是创建一个<form>
并执行一个操作,该操作将指向您的包含写入功能的php文件。您将需要一个提交按钮,我认为您已经拥有该按钮,因为您的表格工作正常。这样,每次提交表单时,都会触发功能,而不是页面刷新。
<form action="your_php_file.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
只是基本示例,您可以将其扩展到想要的内容。只要确保您在php文件中使用$_POST['name']
和$_POST['email']
来检索输入字段的值即可。
2)使用HTML,Javacript + ajax,php
在此示例中,您不需要表单,但需要使用javascript选择器获取元素的值。之后,您使用事件onClick
进行ajax调用,并将所有html值发送到php文件,并以相同的方式检索值。在这种情况下,您的页面将不会刷新。
以上是关于linux下php fwrite无法写入文件怎么回事呀的主要内容,如果未能解决你的问题,请参考以下文章
php: 怎么让写入的字符串自动换行(在文本里面)?用fwrite()写入