윈도우즈 플랫폼에서 rmdir 권한 거부 오류

15045 단어 Permission

  
    
function delFile( $delList , $deleteRootToo ){
if ( is_dir ( $delList )){
@
chmod ( $delList , 0777 );
if ( ! $dh = @ opendir ( $delList )){
return false ;
}
while ( false !== ( $file = readdir ( $dh ))) {
if ( $file == ' . ' || $file == ' .. ' ) continue ;
if ( is_file ( $delList . ' / ' . $file )){
@
unlink ( $delList . ' / ' . $file );
}
else {
$this -> delFile( $delList . ' / ' . $file , $deleteRootToo );
}
if ( $deleteRootToo ) rmdir ( $delList );
}
}
else if ( is_file ( $delList )){
@
unlink ( $delList );
}
else {
return false ;
}
closedir ( $dh );
return true ;
}

오늘 파일 작업 클래스 중 하나에 파일과 폴더를 삭제하는 함수가 매번 오류를 보고합니다. rmdir ($delList) 만 검사하면 됩니다.이것은 파일 핸들을 닫으면 정상이다
올바른 함수:
 

  
    
function delFile( $delList , $deleteRootToo ){
if ( is_dir ( $delList )){
@
chmod ( $delList , 0777 );
if ( ! $dh = @ opendir ( $delList )){
return false ;
}
while ( false !== ( $file = readdir ( $dh ))) {
if ( $file == ' . ' || $file == ' .. ' ) continue ;
if ( is_file ( $delList . ' / ' . $file )){
@
unlink ( $delList . ' / ' . $file );
}
else {
$this -> delFile( $delList . ' / ' . $file , $deleteRootToo );
}
}
}
else if ( is_file ( $delList )){
@
unlink ( $delList );
}
else {
return false ;
}
closedir ( $dh );
if ( $deleteRootToo ) rmdir ( $delList );
return true ;
}

좋은 웹페이지 즐겨찾기