当他们在 php 表单上注册时,我试图创建一个名为用户名的文件夹,但它创建了一个名为 $username 的文件夹。
我现在使用的表单只是我将用来尝试让它工作的表单的一个小版本。
希望有人能帮助我?
<body>
<form action="index.php" method="post">
enter name<input type="text" name="user">
<p>
<input type="submit" name="submit" value="Upload">
</form>
</body>
<?php
if(isset($_POST['submit']))
{
include("connect.php");
$username = $_POST['user'];
//Get current working directory
$curdir = getcwd();
include("create_folder.php");
mysql_close($con);
}
?>
<!--create folder.php-->
<?php
//Name directory after username
$uploads_dir = '/$username';
//make directory writable from everyone
if(mkdir($curdir . $uploads_dir , 0777)){
echo "$uploads_dir was made";
echo "<br>";
}else{
echo "Failed to create directory";
}
?>
最佳答案
单引号内的变量不会被解析。
$uploads_dir = '/$username';
我需要读作:
$uploads_dir = "/$username";
但是,如果给您带来麻烦,您可能需要添加完整的系统路径:
即:
$uploads_dir = "/var/users/public_html/members/$username";
旁注:/var/users/public_html/members
只是一个例子。您需要填写实际情况。
另一个旁注:不推荐使用 0777
,最好使用 0755
。
添加error reporting到您的文件的顶部,这将有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:错误报告只应在试运行中进行,绝不能在生产中进行。
关于php - 当新人在表单上注册时创建文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29413232/