채택완료

해당 배열을 제외하랴는데여

2020-03-24 (화) 18:33:52 2,382

해당 배열이 3개가 있다고하면 거기서 3개를 제외하고 unlink를 하려는데요

배열에서 파일경로 파일명이 있어요 그거를 제외해서 파일삭제 하려는데 어떻게 해야될까요?

|

답변 3개 / 댓글 3개

채택된 답변
+20 포인트
2020-03-24 (화) 19:28:19
Copy
<?php
$ex = array(
    'storage/board_upload/tes1.gif',
    'storage/board_upload/test2.png',
    'storage/board_upload/test3.png'
);

$dir = 'storage/board_upload/';
$files = array_diff(scandir($dir), array('.', '..'));
foreach($files as $v) {
    if(!in_array($dir.$v, $ex)) {
        unlink($dir.$v);
    }
}

무조건 다른 디렉토리에서 파일 몇 개로 테스트를 거친 후에 실행하세요.

답변에 대한 댓글 2개

조건문 만 고쳐서 했더니 됐네요 감사해요
감사합니다
2020-03-25 (수) 17:06:02

도움이 되었습니다.

예제 코드를 적고 문의하시면 답변하시는 분이 더 수월하게 답변 가능할 듯 싶네요.

답변에 대한 댓글 1개

Array
(
[0] => storage/board_upload/tes1.gif
[1] => storage/board_upload/test2.png
[2] => storage/board_upload/test3.png
)
이배열을 제외하고 폴더 안에 있는 나머지 파일을 삭제하고싶어요

답변을 작성하려면 로그인이 필요합니다.