2014-01-23 3 views
0

이 코드는 사용자가 내 양식에서 삭제 버튼을 클릭하면 실행됩니다. "/ pics /"에서 "/ pics/deletedrecordpics /"로 파일 $ picfile을 복사하고 원래 파일을 삭제하려고합니다. 마지막으로 데이터베이스에서 레코드를 삭제하십시오. 데이터베이스에서 레코드를 삭제해도 파일은 복사되고 원본은 삭제되지 않습니다. 오류 로그에는 오류가 없으므로이 코드가 실행되고 있지 않은 이유에 대해 정말로 혼란 스럽습니다.PHP 파일 복사 및 삭제 및 데이터베이스에서 레코드 삭제

$sql = ("select picfile,title,author from $table where id=$delete");    
    $file=mysql_query($sql); 
    $resrow = mysql_fetch_row($file); 
    $picfile = $resrow[0]; 
    $title = $resrow[1]; 
    $author = $resrow[2];  
    copy("pics/".$picfile,"pics/deletedrecordpics/".$author." - ".$title." - ".$picfile);  
    unlink("pics/".$picfile); 
    $sql = ("DELETE FROM $table WHERE id=$delete"); 
    $result = mysql_query($sql); 
+1

는'$의 picfile''author'와'의 값이 – Ohgodwhy

+0

상대 경로처럼 당신은 그들이 무슨 생각을 가끔 없습니다 title' 무엇을 우리에게 보여줍니다. '$ _SERVER [ 'DOCUMENT_ROOT']와 같은 것을 사용해 볼 수도 있습니다. '/ pics/...'를 사용하여 경로가 올바른지 확인하십시오. – jeroen

+0

행운이 없습니다. 그래도 고마워. –

답변

1

링크가 제대로 작동하는지 확인하려면 사용 권한이 올바르게 설정되어 있고 서버 연결에서 링크 해제를 사용할 수 있는지 확인하십시오. "/ deletedrecordpics는"아직 생성되지 않은 기존 디렉토리 인 경우

복사가 작동되지 않을 수 있습니다.

+0

이상한 부분은 "/ adminpanel"에있는 내 comtrol 패널의 삭제 버튼에 거의 동일한 코드가 있으며 완벽하게 작동합니다. 그 코드는 adminpanel 폴더에 있기 때문에 모든 "pics /"앞에 $ id 대신 $ id와 "../"를 사용하는 것을 제외하고는 동일합니다. 코드가 해당 페이지에서 작동하기 때문에 권한이 올바르지 만 폴더가 존재합니다. 그리고 레코드가 데이터베이스에서 삭제되기 때문에 $ delete는 gettimg가 설정되어 있다는 것을 알고 있습니다. –

관련 문제