PHP脚本mkdir“没有错误,但没有目录”

时间:2013-05-14 00:50:31

标签: php html directory

我目前正在学习并在我的个人网站上搞乱一些HTML和PHP。我需要使用PHP创建一个“新目录”。

我目前正在使用http://dummycode.com/projects/projectform/form.html以尝试实现这一目标。它正在运行PHP脚本,但它没有在/projects/projectform/dir

下创建新目录

以下是form.php文件的代码:

    <?php
$result = mkdir("http://dummycode.com/projects/projectform/dir", 0700);
if ($result == 1) {
    echo "Success creating directory!";
} else {
    echo "Error creating directory!";
}

?>

我似乎无法找到问题因为每次都说“创建目录时出错!”但PHP并没有抛出任何错误。

我缺少一些简单的东西,还是我只是愚蠢?

谢谢, 亨利哈里斯

2 个答案:

答案 0 :(得分:2)

虽然PHP 5引入了对协议包装器的支持,但支持并不普遍,如here所述:

  

5.0.0从PHP 5.0.0开始,mkdir()也可以与一些URL包装器一起使用。有关哪些包装器支持mkdir()的列表,请参阅支持的协议和包装器。

mkdir不支持HTTP协议,请参阅here

Wrapper Summary
Attribute                                   Supported
---------------------------------------     ---------
Restricted by allow_url_fopen               Yes
Allows Reading                              Yes
Allows Writing                              No
Allows Appending                            No
Allows Simultaneous Reading and Writing     N/A
Supports stat()                             No
Supports unlink()                           No
Supports rename()                           No
Supports mkdir()                            No   <----
Supports rmdir()                            No

如果要创建目录,则需要使用适当的(基于文件系统的)文件规范而不是URL。

可能发生的事情是正在创建一个目录,它只是被称为http://dummycode.com/projects/projectform/dir并存在于执行{{1}时默认目录中的任何内容}。这可以解释为什么没有错误以及为什么目录似乎不存在。我想看看。

然而,这与问题无关,可以通过不使用URL来解决。

答案 1 :(得分:1)

您是否尝试使用相对路径而不是网址?