2010-04-19 8 views
0

javascript?를 사용하여 디렉토리 내의 파일을 삭제할 수 있습니까? 내가 현재 갖고있는 것은 동일한 디렉토리에있는 파일의 이름을 표시하는 index.php와 각 파일 이름에 대한 체크 박스이며 하단에는 삭제 버튼이있다. 내가 원하는 것은 삭제 버튼을 클릭하면 선택한 모든 확인란을 삭제하는 것입니다. 나는 여기에 mysql을 사용하지 않고있다. 단지 이름을 표시하는 일반 PHP 파일이다. 누군가가 자바 스크립트를 사용하여 선택한 파일을 삭제하는 방법을 보여줄 수 있습니까?자바 스크립트에서 파일 삭제

+3

자바 스크립트가 기본적으로 수행 할 수 있다면 재미있을 것이라고 상상해보십시오. 컴퓨터에서 'rm -rf /'를 수행하는 사이트를 방문하십시오 :-D. 사실, 브라우저에서 ** 특정 방식으로 (예 : Internet Explorer의 ActiveX 개체를 통해) JavaScript로 파일 시스템에 액세스 할 수 있습니다. – stakx

+0

@stakx ActiveX를 * JavaScript * 브라우저 전용 방식이라고 부르지 않을 것입니다 ... – deceze

+0

@deceze : 왜 안 되니? 코드 자체는 여전히 자바 스크립트 (또는 원하는 경우 EcmaScript)로 작성되지만 브라우저마다 다릅니다.EcmaScript 표준은 특정 표준 객체 (예 : 'Date'또는 'Math')를 정의하고, 'window'또는 'location'과 같은 다른 객체는 사실상 * Browser Object Model 표준의 일부이며, 특정 ActiveX 구성 요소의 가용성 - 브라우저별로 더욱 중요합니다. 나는 문제가 보이지 않는다. – stakx

답변

4

보안 이유에 대한 자바 스크립트 파일을 삭제할 수 없습니다. 나쁜 사람은 그러나 당신의 stytem :(의 파일을 삭제할 수 있습니다, 당신은 알고 무엇 사용 등과 PHP, ASP.NET, 같은 서버 측 언어의 조합으로 그렇게 할 수있는 Ajax

참고 :. 자바 스크립트는 서버 측 언어 옵션이되고/추가로 이동 Node JS이 그 예입니다

업데이트를 코멘트를 기반으로 :.. 당신은 파일이 뭔가를 삭제할 수 있습니다

:

<a href="#" class="delete">Delete</a> 

JQuery와 :

$(function(){ 
    $('a.delete').click(function(){ 
     $.ajax({ 
     url:'delete.php', 
     data:'id/name here', 
     method:'GET', 
     success:function(response){ 
     if (response === 'deleted') 
     { 
      alert('Deleted !!'); 
     } 
     } 
     }); 
    }); 
}); 

PHP : 당신은 자바 스크립트 만에 PHP 스크립트에 파일 이름을 전송하는 HTML form 필요하지 않습니다

if (isset($_GET['id/name here'])) 
    { 
    if (unlink('your_folder_path' . $_GET['id/name here'])) 
    { 
     echo 'Deleted'; 
    } 
    } 
+0

내 문제의 설명을 기반으로 그 아약스의 예를 보여줄 수 있습니까? – sasori

+0

예를 들어 주셔서 대단히 감사합니다. 매뉴얼 아약스를 사용하려고 생각했지만 LOL, jquery가 최고입니다. – sasori

+0

@sasori : 환영합니다. 그렇습니다. jquery가 최고입니다. – Sarfraz

4

AJAX를 사용하고 서버에서 PHP를 사용하여 파일을 삭제할 수 있습니다. 순수 자바 스크립트로 파일을 조작 할 수 없습니다.

+0

내 문제의 설명을 기반으로 그 아약스의 예를 보여줄 수 있습니까? – sasori

0

파일을 삭제하는 서버 this example을 참조하십시오.

0

이 경우 ajax 함수 또는 onclick 함수의 javascript를 사용하여 제출 작업을 제공하고 전체 페이지를 새로 고칩니다.

1

내장 된 unlink() 함수를 기반으로 PHP에서 파일 삭제 기능을 구현해야합니다. 조심해라 !! 예를 들어 파일 이름 목록을 읽고 각각에 대한 ID를 계산해야하며 삭제 기능은 실제 파일 이름이 아닌 ID를 허용해야합니다.

그런 다음 파일 목록을 브라우저로 보내면 생성 된 ID가 숨겨진 필드 또는 개체 속성 등으로 포함됩니다. JavaScript에서 HTTP 요청을 사용하여 삭제할 파일 ID 목록을 보내고, 체크 박스를 기반으로합니다. PHP 스크립트는 ID에 대한 삭제 기능을 호출합니다.

관련 문제