我想我误用了php mkdir

时间:2016-05-19 15:38:31

标签: php apache mkdir

我正在用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。我有什么想法,我做错了什么?或者关于替代方法的任何想法?

1 个答案:

答案 0 :(得分:0)

您是否尝试使用绝对路径?

<?php
    $foldername = '/root/dir/test'; // Note the slash at the beggining
    // $foldername = 'test';
    mkdir($foldername, 0777, false);
?>