我正在用PHP编写一个Web应用程序,我想给它一个功能,其中用户命名他们的应用程序实例,然后PHP根据该名称为应用程序创建一个文件夹(目录)结构。
为此,我编写了一个PHP脚本,它从HTML表单中获取$ _POST变量,然后使用mkdir()函数。这不是实际的脚本,但这是一个想法:
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
<input type="text" name="foldername">
<input type="submit" value="submit">
</form>
<?php
$foldername = 'test';
mkdir($foldername, 0777, false);
?>
我指定了名称&#39; test&#39;到变量$ foldername因为我认为当我最初为它分配$ _POST [&#39; foldername&#39;]的值时,我使用的语法不正确。
所以这里是TL; DR问题: 当我在网络表单上按提交时,此脚本不起作用。它不会产生错误,但它也不会产生错误。但是,当我从命令行运行它时,它会创建该文件夹。我不认为它是权限问题,因为我是目录及其父目录的所有者。我在自己的机器上运行Apache。我有什么想法,我做错了什么?或者关于替代方法的任何想法?
答案 0 :(得分:0)
您是否尝试使用绝对路径?
<?php
$foldername = '/root/dir/test'; // Note the slash at the beggining
// $foldername = 'test';
mkdir($foldername, 0777, false);
?>