Php 未创建文件夹
我试图从提交的表单中获取一个字段/名称,并从中创建一个文件夹,它似乎没有出现错误,但没有创建文件夹 我的HTML:Php 未创建文件夹,php,Php,我试图从提交的表单中获取一个字段/名称,并从中创建一个文件夹,它似乎没有出现错误,但没有创建文件夹 我的HTML: <form id="roomcreation" name="roomcreation" method="post" action="/"> <input type="hidden" name="form_name" value="roomcreation"><p> Room Name:<p> <input class="room
<form id="roomcreation" name="roomcreation" method="post" action="/">
<input type="hidden" name="form_name" value="roomcreation"><p>
Room Name:<p>
<input class="roomcreation_text" name="roomname" type="text" id="roomname";">
<p>File Name:<p>
<input class="roomcreation_text" name="filename" type="text" id="filename";">
<p>Editor Password:<p>
<input class="roomcreation_text" name="editorpassword" type="password" id="editorpassword";"><p>
<p>Genre Select:<p>
<select name="genre" id="genre" onChange="javascript:chgAction()">
<option value="" selected="selected">Select</option>
<option value="Creative">Creative</option>
<option value="Erotic">Erotic</option>
<option value="Fantasy">Fantasy</option>
<option value="Gorean">Gorean</option>
<option value="History">History</option>
<option value="Reality">Reality</option>
<option value="Supernatural">Supernatural</option>
<option value="Transilient">Transilient</option>
</select>
<?php echo $error_message; ?><p>
<input class="roomcreation_button" type="submit" name="create" value="Create Room" id="roomcreate";">
</form>
房间名称:
编辑器密码:
替换为:
$path = "rooms/creative/$dir";
表格
<form id="roomcreation" name="roomcreation" method="post" action="">
<input type="hidden" name="form_name" value="roomcreation">
<p>
Room Name:
<input class="roomcreation_text" name="roomname" type="text" id="roomname">
</p>
<p>
File Name:
<input class="roomcreation_text" name="filename" type="text" id="filename">
</p>
<p>
Editor Password:
<input class="roomcreation_text" name="editorpassword" type="password" id="editorpassword">
</p>
<p>
Genre Select:
<select name="genre" id="genre" onChange="javascript:chgAction()">
<option value="" selected="selected">Select</option>
<option value="Creative">Creative</option>
<option value="Erotic">Erotic</option>
<option value="Fantasy">Fantasy</option>
<option value="Gorean">Gorean</option>
<option value="History">History</option>
<option value="Reality">Reality</option>
<option value="Supernatural">Supernatural</option>
<option value="Transilient">Transilient</option>
</select>
<p>
<?php echo $error_message; ?><p>
<input class="roomcreation_button" type="submit" name="create" value="Create Room" id="roomcreate">
</form>
房间名称:
文件名:
编辑器密码:
类型选择:
挑选
创造性的
情色的
幻想
葛瑞恩
历史
现实
超自然的
过渡期
服务器端脚本
<?php
if (isset($_POST['filename']) && isset($_POST['editorpassword']) && isset($_POST['roomname'])) {
$dir = $_POST['filename']; // This must match the "name" of your input
$path = "evo/" . $dir;
if (!file_exists($path)) {
mkdir($path, 0755, true);
}
}
?>
输出
<?php
if (isset($_POST['filename']) && isset($_POST['editorpassword']) && isset($_POST['roomname'])) {
$dir = $_POST['filename']; // This must match the "name" of your input
$path = "evo/" . $dir;
if (!file_exists($path)) {
mkdir($path, 0755, true);
}
}
?>
如果不工作,请尝试将权限更改为0777(请注意,0777已经是目录的默认模式,并且仍可能被当前umask修改。)
我希望这有帮助
如果您不确定路径,请使用dirname(\uuuu FILE\uuuu)
这是父目录路径rooms/creative
?您是否可以使用set-using-error\u-reporting(E\u-ALL)对其进行调试;ini设置(“显示错误”,1);可能有许可的机会。至于父路径,no rooms/creative与.php文件所在的位置不同。请检查Web服务器是否对文件系统具有必要的权限并打开错误报告。谢谢Shailesh我这样做了,但它仍然没有创建文件夹谢谢Shailesh我不确定我缺少了什么,但它仍然没有创建,仍然没有获得错误。请对if语句进行注释并重试。我想您的post变量没有设置$\u post['roomcreation']
您有这两个文件夹rooms/creative
吗?没有。但是我尝试用我的文件夹结构名称来编写您的代码,效果很好。这非常有帮助!谢谢你Nikhil我知道我写错了。然而,它创建了一个名为evo/的新文件夹,然后将目录文件夹从文件名中删除。这对于测试来说是可以的,没有任何问题。但是,我需要将文件夹转到:/home/revo/public_html/rooms/creative/(这里的文件名),我不知道如何确保它在creative/thank you Nikhil之后在特定的位置创建它。我不太确定我是否有正确的路径,我知道它需要去哪里以及我应该说的路径,只是不知道如何将它引导到那里。我现在正在读更多关于它的文章,谢谢。我知道我走错了路,每次我都尝试像./rooms/creative/这样的东西$dir当您在其中时,它会在脚本所在的文件夹中创建它,而不是找到正确的路径。请将的输出发送给我:。匹配输出,直到获得确切位置。
<?php
if (isset($_POST['filename']) && isset($_POST['editorpassword']) && isset($_POST['roomname'])) {
$dir = $_POST['filename']; // This must match the "name" of your input
$path = "evo/" . $dir;
if (!file_exists($path)) {
mkdir($path, 0755, true);
}
}
?>