0

我目前正在我的个人网站上学习和处理一些 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 没有抛出任何错误。

有什么简单的我错过了,还是我只是愚蠢?

谢谢,亨利哈里斯

4

2 回答 2

2

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

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

不支持 HTTP 协议mkdir,请参见此处

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并存在于您执行mkdir. 这可以解释为什么没有错误以及为什么目录似乎不存在。我会调查一下。

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

于 2013-05-14T01:02:54.030 回答
1

您是否尝试过使用相对路径而不是 url?

于 2013-05-14T01:00:21.580 回答