我无法弄清楚我在这里做错了什么。我创建的文件的目录权限具有全面的写权限。我一直得到“目录不存在”感谢您的帮助!
<?
//creates variables and calls the information from the server
$Name = $_POST['name'];
$desc = $_POST['desc'];
$website =$_POST['web'];
$email =$_POST['email'];
$cname =$_POST['cname'];
echo "your registered name is: ". $Name . ".<br/>";
echo "your registered description is: " . $desc . ".<br/>";
echo "your website address is: " . $website . ".<br/>";
echo "your Confirmation email has been sent to: " . $email . ".<br/>";
echo "your information has been stored, thank you! ";
$cname = trim($cname);
$filename = "data/clubinfo/$cname.txt";
$fp = fopen($filename,'a');
fwrite($fp,$Name);
fwrite($fp,"\n");
fwrite($fp,$email);
fwrite($fp,"\n");
fwrite($fp,$desc);
fwrite($fp,"\n");
fwrite($fp, $website);
fwrite($fp, "\n");
fwrite($fp,"__");
fwrite($fp, "\n");
fclose($fp);
?>
答案 0 :(得分:3)
由于您正在使用相对路径,因此脚本最有可能假定您所假设的工作目录不同。
你最好绝对地或者至少相对于$_SERVER['DOCUMENT_ROOT']
指定路径,即使你这样做:
$filename = $_SERVER['DOCUMENT_ROOT'] . "../data/clubinfo/$cname.txt";
这样做的好处是它在文档根目录之外,因此不会由Web服务器直接提供。无论您的脚本位于何处,它都可以正常工作,无论您在哪个目录下安装Web应用都可以使用,这可能是dev vs prod部署的问题。
答案 1 :(得分:0)
当前目录中不存在data/clubinfo
文件夹。
您需要先创建它。 (手工或PHP)
或者,当前目录可能不是您认为的目的。
答案 2 :(得分:0)
尝试使用file_put_contents()
,如下所示:
file_put_contents("data/clubinfo/$cname.txt", implode("\n", $_POST));
如果您希望按值增加此值,则还应使用FILE_APPEND
标记。
答案 3 :(得分:0)
看起来你没有从根目录中给出路径,服务器正在查看当前位置。尝试让路径脱离根源。