2014-02-22 3 views
-1

사용자가 양식 제출을 삭제하려면 예를 클릭 할 때마다 php를 사용하여 폴더에서 파일을 삭제할 수 없습니다. 파일도 unlink() 기능을 사용 후에도 폴더에 존재 : 당신은 작은 따옴표를 사용하는 경우PHP를 사용하여 파일 시스템에서 파일을 삭제할 수 없습니다

<form method='post'> 
<input type='submit' name='del' value='Yes'> 
</form> 
<?php 
if(isset($_POST['del'])) 
    { 

    $filename=$userid.".jpg"; 
    unlink('upload-cover/uploads/$userid/$filename'); 
    echo "Your image has been deleted successfully!!"; 
    } 

?> 
+1

기본 PHP 구문을 익히십시오 : 변수는 작은 따옴표 안에 있지 않고 큰 따옴표 안에 확장됩니다. – Barmar

답변

1

것은 genrated있는 파일 이름이 잘못 될 것입니다. 또한

, 당신이 당신은 큰 따옴표로 링크 해제 함수에 전달 된 문자열이 있어야

unlink("upload-cover/uploads/$userid/$filename"); 
2

으로 시도 올바른 권한

해야합니다. 이것은 PHP가 문자열을 작은 따옴표로 해석하므로 변수를 포함하지 않기 때문입니다. 이 시도 :

unlink("upload-cover/uploads/$userid/$filename"); 

또는를 :

unlink("upload-cover/uploads/".$userid."/".$filename); 

내가 두 번째 옵션이 더 많은 읽을 수, 당신은 발생한 것과 같은 오류를 방지 생각! 코드에 보면 What is the difference between single-quoted and double-quoted strings in PHP?

0

변수 내부에 작은 따옴표가 문자열로있다가 변수 찾아 볼 문제가 있음을 보인다

이것은 PHP 문자열과 경로를 이해하는 좋은 대답은 PHP 엔진

unlink('upload-cover/uploads/$userid/$filename'); 

큰 따옴표 안에 변수로 T로 변수입니다 그는 PHP 엔진

unlink("upload-cover/uploads/$userid/$filename"); 
관련 문제