使用路径中的变量在php中创建文件夹

时间:2013-11-26 10:18:39

标签: php

我是网络开发领域的新手,我正在尝试使用php的mkdir()命令创建一个文件夹......

当我使用...

mkdir("somefolder");

它有效......

我曾尝试过

mkdir("/somefolder/".$id."/photos");

但它不起作用....我想我做错了我该怎么做...

$id来自数据库,以便创建每个用户的文件夹

任何帮助都会受到极大关注......

提前谢谢你......

修改

mkdir($id);

会创建一个文件夹,但上面提到的不是......

如果某个文件夹已经存在..那么mkdir将不起作用....?

4 个答案:

答案 0 :(得分:1)

  

$ path =“/ somefolder / $ id / photos”;

     

if(!file_exists($ path)mkdir($ path);

     

其他

     

抛出新的异常($ path。“文件已存在”);

答案 1 :(得分:1)

为此目的,递归参数必须为真......

mkdir("/somefolder/$id/photos",0777,true)

答案 2 :(得分:0)

删除$ id

周围的单引号
mkdir("/somefolder/$id/photos");

答案 3 :(得分:0)

此行不正确:

mkdir("/somefolder/'$id'/photos");

相反它应该是

mkdir("/somefolder/".$id."/photos");

mkdir("/somefolder/$id/photos");

确保您的www-data用户(或您的脚本运行的任何用户)有权在/ somefolder(chown www-data /somefolder)中创建文件夹

请记得检查$ id是否具有正确的格式,以避免使用$id = "../.."访问其他目录

您可以使用

if(!is_numeric($id)) {
    /* do something */
}