我使用 XAMP 1.7.3在 Macbook Pro osx 10.9 上火狐浏览器
基本上,我正在尝试编写一个代码,要求用户输入一些信息,然后使用以下方法将信息存储在.txt文件中:
$txtfile="registration.txt";
$handle=fopen($txtfile,'a');
但是我不断收到此错误消息:
警告:fopen(registration.txt) [function.fopen]:无法打开流:第 30 行的/Applications/XAMPP/xamppfiles/htdocs/UserInfoAhmed.php 中的权限被拒绝
警告:fwrite() 期望参数 1 是资源,布尔值在第 31 行的/Applications/XAMPP/xamppfiles/htdocs/UserInfoAhmed.php 中给出
警告:fwrite() 期望参数 1 是资源,布尔值在第 32 行的/Applications/XAMPP/xamppfiles/htdocs/UserInfoAhmed.php 中给出
警告:fwrite() 期望参数 1 是资源,布尔值在第 33 行的/Applications/XAMPP/xamppfiles/htdocs/UserInfoAhmed.php 中给出
警告:fwrite() 期望参数 1 是资源,布尔值在第 34 行的/Applications/XAMPP/xamppfiles/htdocs/UserInfoAhmed.php 中给出
警告:fwrite() 期望参数 1 是资源,布尔值在第 35 行的/Applications/XAMPP/xamppfiles/htdocs/UserInfoAhmed.php 中给出
完整代码是:
<html>
<head>
<title>User Informations</title>
</head>
<body>
<form method="post" action="">
Name : <input type="text" name="name"/> <br>
Age : <input type="text" name="age"/> <br>
City : <input type="text" name="city"/> <br>
Password: <input type="password" name="pswrd1"/> <br>
Password: <input type="password" name="pswrd2"/> <br>
<input type="submit" name="submit" value"send"/>
<form/>
<?php
if(isset($_POST['submit']))
{
$name=$_POST["name"];
$age=$_POST["age"];
$city=$_POST["city"];
$pswrd1=$_POST["pswrd1"];
$pswrd2=$_POST["pswrd2"];
if($pswrd1 == $pswrd2){
if($city==dubai){
if($age>18){
$txtfile="registration.txt";
$handle=fopen($txtfile,'a');
fwrite($handle, $name);
fwrite($handle, $age);
fwrite($handle, $city);
fwrite($handle, $pswrd1);
fwrite($handle,$pswrd2);
}
else echo "age must be > 18";
}
else echo "city must be dubai";
}
else echo "password must identical";
echo "<br>";
}
?>
</body>
首先,我了解了第一条错误消息,无法访问/创建.txt文件,当我在这个网站上搜索时,有几个 ppl 有同样的问题,有些建议主文件的权限问题,并且由于每次我尝试更新 PHP 文件时,我都会被要求输入我的管理员密码, 所以我假设 XAMP 主文件也受到保护
我将文件选项更改为由所有用户以及主XAMP文件夹中的所有文件夹读取和写入。 但是我仍然被要求输入密码以保存正在编写此代码的PHP文件中的任何更改,因此我想仍然得到相同的:fopen(注册.txt) [function.fopen]:无法打开流:在...
那么我该如何解决这个问题呢?还想知道其余的错误消息是否与主要问题有关?
总而言之,有人可以告诉我至少我的代码中是否有错误吗?
First
尝试通过控制台设置注册.txt权限:
sudo chmod 0777 /Applications/XAMPP/xamppfiles/htdocs/registration.txt
第二
如果第一次不起作用,那么我认为您应该更改htdocs文件夹位置,因为当它在应用程序文件夹中时,它可能无法正常工作,因为应用程序文件夹可能以某种方式受到系统的保护。
编辑 XAMPP apache httpd.conf 并将 DocumentRoot 设置为/users/USERNAME/Documents/htdocs
请务必在"文档"文件夹下创建 htdocs 文件夹。
然后在控制台中更改文件夹权限:
sudo chmod 0777 /users/USERNAME/Documents/htdocs
然后尝试在文件夹中放置一些随机文件并尝试在浏览器中打开它
http://localhost/randomfile.php
它应该有效。如果您收到内部服务器错误 (500),请在 httpd.conf 中注释掉以下行:
LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so