2017-09-04 2 views
0

이 작은 문제로 인해 하루가 망가졌습니다. PHP unlink 함수로 파일을 삭제할 수 없습니다. 나는 pdf 파일을 업데이트하고 편집하기 위해 PHP 폼을 생성 중이다. 아래는 HTML 폼과 PHP unlink 스크립트입니다.PHP 링크를 해제하지 마십시오

HTML

<form method="post" action="#" enctype="multipart/form-data"> 
<input type="file" value="<?php echo $row['img']?>" name="image"> 
<input type="submit" name="update"> 
</form> 

PHP

<?php 
if(isset($_POST['update']) && ($_FILES['image']['name'])){ 
$image=$_POST['image']; 
unlink('../pdf/services/'.$image); 
} 

?> 
+1

'$ _POST [ 'image']'는 어디에서 왔습니까? – iainn

+4

매우 안전하지 않습니다! 아파치에 쓰기 권한이 있습니까? 올바른 경로와 파일이 있습니까? – mvladk

+1

당신이 얻고있는 링크 해제의 반환 값은 무엇입니까? 아마도 허가 문제. 적절한 권한을 설정하려면'chmod'를 사용하십시오. – Anusha

답변

0

$_FILES을보십시오. 뭔가 같은 $image = $_FILES['image']; 당신이 원하는대로 그 후 $imgname = $image['name'];

당신이 unlink();을 사용할 수 있습니다 ( unlink("../pdf/services".$imgname);)

희망은 내가 도움이 내 테스트 후 일! 당신이 unlink을 사용하여 파일을 제거하려고 할 때마다

+0

당신의 방법으로 시도했지만 작동하지 않는, 여전히 파일이 폴더에 존재합니다. –

0

, 당신은 모든 확인 있는지 확인해야합니다

  1. 내가 사용할 수에서 파일을 제거 할 길인가? 경로를 따라 필요한 모든 폴더에 액세스 할 수 있습니까? 그렇지 않은 경우, 필요한 권한을 부여해야합니다.

  2. 내 위치가 내가 생각하는 위치입니까? 현재 작업 디렉토리 인 getcwd()을 실행해야합니다. 귀하의 페이지가 원하는 위치에 없다면, 도달하려는 경로가 다른 것을 의미 할 것입니다.

  3. 내가 원하는 위치에 원하는 경로를 추가하고 있습니다. 정확하고 두 번째 지점에 있습니다. 배고 있다?

위의 모든 사항이 정상이지만 문제가 계속되는 경우 오류 로그를 확인하면 유용한 정보를 얻을 수 있습니다. 문제가 지속되면 다른 파일을 제거 할 경로에 더미 파일을 만들어야합니다. 파일이 생성 되었습니까? 올바른 위치에 생성 되었습니까?

+0

파일 경로와 위치가 정확합니다. echo 함수를 사용하여 이미 테스트를 마쳤습니다 ... 정확한 파일 이름을 출력합니다. 새 파일이 올바르게 업로드되었습니다. \t \t \t \t \t $ _FILES [ "image"] [ "tmp_name"], "../pdf/services/". $ _FILES [ "image"] [ "name"]); 풀리다. –

+0

@DipakOjha 새 파일이 제거 할 파일과 같은 폴더에 있는지 확인할 수 있습니까?그렇다면 링크 해제를 사용하여 새 파일을 제거 할 수 있습니까? –

관련 문제