我是网络开发领域的新手,我正在尝试使用php的mkdir()
命令创建一个文件夹......
当我使用...
mkdir("somefolder");
它有效......
我曾尝试过
mkdir("/somefolder/".$id."/photos");
但它不起作用....我想我做错了我该怎么做...
好$id
来自数据库,以便创建每个用户的文件夹
任何帮助都会受到极大关注......
提前谢谢你......
修改
mkdir($id);
会创建一个文件夹,但上面提到的不是......
如果某个文件夹已经存在..那么mkdir将不起作用....?
答案 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 */
}