我正在做一个重命名,所以我可以移动一个文件夹。此举很成功,但我不断收到警告:php重命名警告,尽管成功
警告:rename(site_files/259,trash/site_files/259)[function.rename]:/ home/oosman/public_html/lib中没有这样的文件或目录.PHP在线79
这是我的代码:
$path_parts = pathinfo($file);
$d = $path_parts['dirname'];
$f = $path_parts['basename'];
$trashdir='trash/'.$d;
mkdir2($trashdir);
if(!is_dir($trashdir))
return FALSE;
rename($file, $trashdir.'/'.$f); // this is line 79 where the warning is coming from
为什么会收到这样的警告?
FYI的mkdir2只是我的递归函数的mkdir
function mkdir2($dir, $mode = 0755)
{
if (@is_dir($dir) || @mkdir($dir,$mode)) return TRUE;
if (!mkdir2(dirname($dir),$mode)) return FALSE;
return @mkdir($dir,$mode);
}
你可能想用的是'重命名($ path_parts,$ trashdir '/'。$ f);' – 2014-12-03 04:03:31
如果您停止使用'@'来抑制错误,您可能会看到更多的警告,这些警告会告诉您原因。 – 2014-12-03 04:23:31