使用php在root上创建php目录

时间:2016-02-25 00:02:14

标签: php

我有这个文件夹树:

assets/
   scripts/
      sites/
        create.php
index.html
sites/

创建文件(create.php)中包含以下内容:

<?php

  error_reporting(E_ALL);
  ini_set('display_errors', 1);

  $data = json_decode(file_get_contents("php://input"));

  $fileName = $data->fileName;

  $url = './sites/'.$fileName.'/';

  mkdir('../../sites/'.$fileName);

我正在尝试在网站根目录的sites文件夹中创建一个文件夹。

当我运行上面的代码时,我收到此错误:

Warning: mkdir(): No such file or directory in /Users/mikes/websites/simple/assets/scripts/sites/create.php on line 12

如何在网站底部的sites文件夹中创建一个文件夹?

更新

通过一些研究,我得到了这个。

mkdir($_SERVER['DOCUMENT_ROOT'] . '/simple/sites/'.$fileName);

我不喜欢我必须在网址中加入'/ simple /'。当我将它上传到我的服务器时,它不会非常友好。我该如何自动检测到它?

2 个答案:

答案 0 :(得分:1)

mkdir(__DIR__.'/../../../sites/'.$fileName);

__DIR__是一个魔术常量,它返回包含文件目录的绝对路径。您可以阅读有关here的更多信息。

答案 1 :(得分:0)

你只能用../../回到2级。你需要回去3. ../../../

如果有帮助,您可能还希望使用realpath('../../../sites/'.$fileName);获取绝对网址。

最后,您可能想要检查您想要mkdir的目录的权限。很可能是像www-data组(对于apache)和0775作为目录的权限。