2014-01-07 6 views
1

사용자가 .zip 파일을 업로드 할 수있게 해주는 코드를 작성 중입니다. 파일을 업로드하면 .zip이 서버의 올바른 위치로 이동합니다. 그것은 모두 올바르게 작동합니다.디렉토리에서 .zip 파일 삭제

나는 사용자가 업로드 한 파일을 삭제할 수있는 버튼을 만들었습니다. 버튼이 클릭되면 AJAX를 사용하여 unlink(); 코드가있는 .php 파일을 호출합니다.

는 아약스 전화

function delete_custom_pack() { 

       var phpfilepath = '/path/to/php/file/'; 

       //console.log(phpfilepath); 


        jQuery.ajax({ 
         method: 'get', 
         url: phpfilepath , 
         success: function() { 
         alert("successfully got file"); 
         }, 
         error: function() { 
         alert("error getting file");    
         } 

        }); 

      } 

PHP 파일

<?php 

$filename = 'http://www.some-site/wp-content/uploads/custom-folder/custom-pack/test.zip'; 

unlink($filename); 

?> 

나는 경고가 "성공적으로 파일을 가지고"받을 수 있지만 파일이 서버에 연결되지 않은 적이 없다. 여전히 디렉토리에 있습니다. 성공적인 호출은 PHP 파일이 성공적으로 있다는 것을 알려주는 것입니다. 내 PHP 파일의 unlink($file);이 실행되지 않는 것 같습니다.

+0

를 참조하십시오 당신은 예를 unlink('/var/www/mysite/files/upload.zip');

을 위해, 그것을 서버의 경로를 제공해야합니다? 아마도 권한이 없습니다. – user602525

+0

unlink cant는 URL을 사용하고, 단지 경로 – DNACode

+0

unlink는 성공시 TRUE를, 실패하면 FALSE를 반환합니다. – Hackerman

답변

7

unlink()은 URL이 아닌 경로를 사용합니다. 당신의 로그 말 무슨 unlink() documentation

+0

흥미 롭습니다.이 문제에 대해 알려주십시오. – EHerman

+1

이것은 완전히 사실이 아닙니다. "PHP 5.0.0부터 unlink()는 일부 URL 래퍼와 함께 사용할 수도 있습니다. 지원되는 프로토콜 wrapper가 unlink()를 지원하는 목록을 보려면 Wrappers를 참조하십시오. " (PHP 설명서에서) –

+0

매우 흥미 롭습니다. 왜 그것이 오류 만은 아니 었는지 설명합니다. 나는이 변화를 알지 못했고 그것이 실제로 어떻게 작용하는지 보았습니다. – Crashspeeder

관련 문제