我正在创建一个目录,我收到了错误
警告:chmod()[function.chmod]:第104行/home/www/public_html/console/pubs-add.php中没有此类文件或目录
运行代码的php文件位于www / console中,我尝试创建的目录位于www / images / gallery中。
我尝试了许多设置路径的变体,例如../ images/gallery或home / www但没有看到工作
define("PATH", "/www/images/gallery");
$dir = 'a1234';
$targetfilename = PATH . '/' . $dir;
if (!is_file($dir) && !is_dir($dir)) {
mkdir($dir); //create the directory
chmod($targetfilename, 0777); //make it writable
}
答案 0 :(得分:3)
你mkdir
命令只使用$dir
,它只是'a1234'(在当前工作目录中)。这将失败(并使chmod
失败)。
解决方案:您可能希望在$ dir前加上PATH ...
答案 1 :(得分:2)
它会在当前工作目录中生成$dir
,但这并不意味着它等于您的$targetfilename
。我会说你必须mkdir($targetfilename)
而不是mkdir($dir)
。
答案 2 :(得分:2)
亲爱的chmod()创造了一些时间问题。所以我建议你使用它 mkdir(“/ path / to / my / dir”,0700); 如果你想要创建的目录应该准备好并且可以使用,那么使用它 mkdir(“/ path / to / my / dir”,0777);
答案 3 :(得分:2)
问题是你不能chmod你没有制作的文件。出于这个原因,我改变了行
$task = chmod($targetfilename, 0777); //make it writable
到
$task = chmod($dir, 0755); //make folder writable
提示:如果您希望文件夹可写,请将其修改为755而不是777. 777用于文件。