2012-03-17 2 views
9

내 로컬 호스트에있는 파일을 삭제하고 싶습니다.php/codeigniter를 사용하여 파일 삭제

localhost/project/folder/file_to_delete 

여기에 codeigniter를 사용하고 있습니다.

PHP에서 unlink() 함수를 사용하고 싶습니다만 사용 방법을 이해할 수 없습니다.

답변

29

당신은 CodeIgniter의에서 "파일 도우미"를 사용할 수 있습니다.

http://codeigniter.com/user_guide/helpers/file_helper.html

이 같은

:

$this->load->helper("file"); 
delete_files($path); 

늦은 편집 :delete_files 방법은 unlink() 당신이 CI 내에서 할 수있는 동일한 통해 모든 내용을 닦아 경로를 사용합니다. 이렇게 :

unlink($path); 

유효한 경로.

+4

'delete_files ($ path)'는 파일 경로가 아닌 디렉토리 경로가 필요합니다. 그 일을 할 지 확신하지 못합니다. – Aniket

+1

네 말이 맞아. 지금 보았고'delete_files' 함수는 재귀 적'unlink()'를 사용하여 지정된 폴더의 파일을 삭제합니다. 이 질문의 답은 업데이트되어야합니다. –

+0

잘 했어. 이제 괜찮아 보인다. – Aniket

8

http://php.net/manual/en/function.unlink.php

그것은 이해하는 가장 좋은 방법입니다. 읽어보기!

$path_to_file = '/project/folder/file_to_delete'; 
if(unlink($path_to_file)) { 
    echo 'deleted successfully'; 
} 
else { 
    echo 'errors occured; 
} 
+0

오류가 발생합니다. unlink (localhost/project/files_to_delete/f1.php) [function.unlink] : 파일이나 디렉토리가 없습니다. – Jetoox

+1

오류가 발생하면'@unlink ($ path_to_file) '와 같이 사용하지 마십시오. 하지만 파일을 삭제하기 전에 [is_file function] (http://php.net/manual/en/function.is-file.php)을 사용하십시오. – machineaddict

2
$file = "test.txt"; 
if (!unlink($file)) 
    { 
    echo ("Error deleting $file"); 
    } 
else 
    { 
    echo ("Deleted $file"); 
    } 
0

이 코드는 비어 있지 않은 폴더도 처리 할 수 ​​있습니다.이 코드는 비어있는 폴더를 처리 할 수 ​​있습니다.

if (!function_exists('deleteDirectory')) { 
    function deleteDirectory($dir) { 
    if (!file_exists($dir)) return true; 
    if (!is_dir($dir) || is_link($dir)) return unlink($dir); 
     foreach (scandir($dir) as $item) { 
      if ($item == '.' || $item == '..') continue; 
      if (!deleteDirectory($dir . "/" . $item)) { 
       chmod($dir . "/" . $item, 0777); 
       if (!deleteDirectory($dir . "/" . $item)) return false; 
      }; 
     } 
     return rmdir($dir); 
    } 
} 
6

파일 사용 삭제

unlink($file_name); 

또는

rmdir($dir); 
3

이 시도 디렉토리 사용 삭제, 이것은 나를 위해 작동 : 예를 들어

unlink("./path/to/folder/file_name_do_delete"); 

: 내가 넣어 outsi 인 uploads 폴더 안에있는 내 파일 응용 프로그램 폴더와 내 파일 이름은 123.jpg입니다. 따라서 다음과 같아야합니다.

unlink("./uploads/123.jpg");