1

私は以下のようなhtml構造を持っています。それはランダムなdivタグとimgタグであり、これらもデータベースに保存されます。
この構造ではなくディレクトリに保存されているファイルを削除するには、文字列の下の img src をフィルタリングする必要があり
ます。フロントエンドでこの構造の src を取得するには、jquery を使用するか、サーバー側で php を使用するのが最善の方法です。
これを行う方法について何か提案はありますか?本当にありがとう!!

フロントエンドで

<div class="h1">content<div>
<div class="h1" style="">content</div>
<div class="h1" style="">...</div>
<div class="h2">...</div>
<div class="h1" style="">content</div>
<img src="u_img/5/1.png" style="" class="">
<div class="link" style="">link: http://...</div>
<img src="u_img/5/14.jpeg" style="" class="">
<div class="h1" style=""..</div>
<img src="u_img/5/3.png" style="" class="">

データベース内

<div class="h1">content<div><div class="h1" style="">content</div><div class="h1" style="">...</div><div class="h2">...</div><div class="h1" style="">content</div><img src="u_img/5/1.png" style="" class=""><div class="link" style="">link: http://...</div><img src="u_img/5/14.jpeg" style="" class=""><div class="h1" style=""..</div><img src="u_img/5/3.png" style="" class="">


以下のようにjqueryを介してphpファイルへの配列投稿のフロントエンドストアにあるimg srcを取得した場合、この配列にないこれらのファイルを削除する方法を更新します

var srcArray=$('img').map(function(){
    return $(this).attr('src');
});
var fd = new FormData(uf[0]);
fd.append('srcArray',srcArray);
$.ajax({
    type: "POST", url: "img_clean.php",
    data: fd,
    processData: false, contentType: false,
})

php

$srcArray = $_POST['srcArray']; 

//How to delete file not in the array?

foreach($srcArray as $row){
    $dir = "u_img_p/".$id;  
        //unlink($dir.'/'.$row);
    } 
}
4

3 に答える 3