2012-01-15 5 views
1

특정 데이터베이스 테이블에 폴더가없는 경우에만 폴더의 파일 (그림 파일)을 삭제하려고합니다.mySQL 테이블에없는 파일 삭제

파일 이름을 검사하는 것처럼 보이지만 테이블에 있으면 확인해도 좋지만 삭제하지는 마십시오.

아이디어가 있습니까?

+0

테이블에 무엇이 있습니까? 그림의 전체 경로? –

+0

데이터베이스에 무엇이 있습니까? 파일 이름뿐만 아니라 파일 내용? –

답변

3

데이터베이스에서 삭제하면 안되는 모든 사진을 선택하고 모든 파일을 검토하면됩니다.

$result = mysql_query("SELECT filename FROM no_delete"); 
while($row = mysql_fetch_assoc($result)) { 
    $do_not_delete[] = $row['filename']; 
} 

foreach(glob("*") as $filename) { 
    if (!in_array($filename, $do_not_delete)) { 
     //delete them 
    } 
} 
내가 (당신이 PHP를 사용하고 있기 때문에) 다음 하나 하나가 있는지 확인하기 위해 데이터베이스를 쿼리 배열 디렉토리에있는 모든 파일의 목록을 소요 스크립트를 저장 쓰는 방법으로 접근 할
0

그들은 테이블에 존재합니다.

그렇다면 삭제하지 않으면 아무 작업도 수행하지 않습니다.

로그 파일에서 기록 전용으로 삭제 한 이름을 캡처하는 것도 도움이됩니다.

curl을 사용하여 명령 줄에서 실행하고 심지어 chron 작업 (Linux의 경우) 또는 예약 된 작업 (Windows의 경우)으로 설정하여 자동으로 실행되도록 설정할 수도 있습니다.