| |
|
|
| | Есть функции:
//этот метод возвращает абсолютный путь к папке
function getAbsolutePath($fold)
{
global $rootDirectory, $fileSeparator;
$folderName=$rootDirectory;
$arrayStr=split("/",$fold);
for($i=0;$i<sizeof($arrayStr);$i++){
$folderName=$folderName.$fileSeparator.$arrayStr[$i];
}
return $folderName;
}
//создать папку
function createFolder($currFolder, $foldName)
{
return mkdir(getAbsolutePath($currFolder."/".$foldName),0700);
}
//рекурсивное удаление папок
function deleteFolder($currFolder,$foldName)
{
global $fileSeparator;
if(($dir=opendir(getAbsolutePath($currFolder . "/" . $foldName)))<0)
{
return $dir;
}
while (($file=readdir($dir))!=null){
$absFilePath=getAbsolutePath($currFolder . "/" . $foldName).$fileSeparator . $file;
if(is_dir($absFilePath)){
if(($file!= ".")&&($file!="..")){
if(($res=deleteFolder($currFolder . "/" . $foldName,$file))<0){
return $res;
}
}
}else{
if(($res=deleteFile($currFolder . "/" . $foldName, $file))<0){
return $res;
}
}
}
closedir($dir);
return rmdir(getAbsolutePath($currFolder."/".$foldName));
}
//удаление файла
function deleteFile($currFolder,$fileName)
{
return unlink(getAbsolutePath($currFolder."/".$fileName));
}
|
Помогите понять как работает функция deleteFolder:почему opendir(getAbsolutePath($currFolder . "/" . $foldName)))<0 и $res=deleteFile($currFolder . "/" . $foldName, $file))<0 ??? | |
| |
|
|
| |
|
|
| |
для: VYB
(21.11.2006 в 20:42)
| | | А что вызывает сложность? Просто путь для opendir() формируется при помощи фукнции getAbsolutePath(), любая строка при сравнении с числом приводится тоже к числу, как правило, к нулю, отсюда такое сравнение, хотя в таких случаях обычно используют сравнение !== NULL. | |
| |
|
|