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 に答える