저는 이미지에 많이 의존하는 사이트에서 작업하고 있으므로 잘못된 것이 있으면 데이터베이스 나 웹 사이트에서 정리하는 함수를 구현하고 싶습니다. 하위 디렉토리에 이미지가 없으면 데이터베이스 항목을 삭제하는 기능이 있지만 데이터베이스에없는 경우 하위 디렉토리에있는 이미지를 삭제하는 기능은 작동하지 않는 것 같습니다. 다음은 내 코드입니다 (MySQL 데이터베이스의 "images"라는 테이블에 "location"이라는 항목이 있다고 가정하면 "images"라는 하위 디렉토리가 있고 모든 이미지에는 jpg 확장자가 있으며 모든 업로드 된 이미지에는 하위 디렉토리에 같은 데이터베이스에 동일한 키) :하위 디렉토리를 반복하고 데이터베이스 항목과 일치하지 않는 모든 파일을 삭제하십시오.
foreach(glob("images/*.*") as $entry)
{
if (!mysql_num_rows(mysql_query("SELECT * FROM images WHERE location = '$entry'")))
{
if (preg_match("/jpg/", $entry))
{
unlink ($entry);
}
}
}
나는 디버깅 및 하위 디렉토리의 항목이 데이터베이스에 항목을 일치하지만,이 동일한 사실에도 불구하고, SQL 쿼리가 빈 결과를 반환 한했다 .
죄송합니다. 뭐라 구요? –
죄송합니다. 바비 테이블은 여기에 있습니다 : http://bobby-tables.com/ – hakre
새로운 코드를 작성하기 위해 mysql_ * 함수를 사용하지 마십시오. 더 이상 유지 관리되지 않으며 커뮤니티가 [지원 중단 프로세스] (http://goo.gl/KJveJ)를 시작했습니다. [* 빨간색 상자 *] (http://goo.gl/GPmFd)를 참조하십시오. 대신 [prepared statements] (http://goo.gl/vn8zQ)에 대해 알아야하고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용해야합니다. mysqli). 어떤 것을 결정할 수 없다면 [이 기사] (http://goo.gl/3gqF9)가 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 가이드입니다] (http://goo.gl/vFWnC). – gorelative