我有这个文件夹树:
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 /'。当我将它上传到我的服务器时,它不会非常友好。我该如何自动检测到它?
答案 0 :(得分:1)
mkdir(__DIR__.'/../../../sites/'.$fileName);
__DIR__
是一个魔术常量,它返回包含文件目录的绝对路径。您可以阅读有关here的更多信息。
答案 1 :(得分:0)
你只能用../../回到2级。你需要回去3. ../../../
如果有帮助,您可能还希望使用realpath('../../../sites/'.$fileName);
获取绝对网址。
最后,您可能想要检查您想要mkdir的目录的权限。很可能是像www-data组(对于apache)和0775作为目录的权限。