2017-12-30 22 views
0

ajaxでそれらを削除するには、pix-1、pix-2、... のようなdiv.pix-boxにインクリメンタルIDを与える方法はありますか?ajaxでglob()で表示される画像を削除する

$images = glob("user/$username/"."*.{jpg,jpeg,gif,png}",GLOB_BRACE); 
    foreach($images as $image) { 
     echo '<div class="pix-box"><img src="'.$image.'" />'.'<br>'; 
     echo '<form class="remover" action="admin-delete.php" method="post">'; 
     echo '<input type="hidden" value="'.$image.'" name="delete_file" />'; 
     echo '<input type="submit" name="submit" value="Delete image" />'; 
     echo '</form>'; 
     echo '</div>'; 
    } 

、これが私のAjaxのスクリプトです:

$(".remover").on('submit',(function(d) { 
    d.preventDefault(); 
    $.ajax({ 
     url: "admin-delete.php", 
     type: "POST", 
     data: new FormData(this), 
     contentType: false, 
      cache: false, 
     processData:false, 
     success: function(data) 
     { 
       $('#pix-....').remove(); 

     }, 
     error: function() 
     { 
     }   
    }); 

と管理者-delete.php:

<?php 
if (array_key_exists('delete_file', $_POST)) { 
    $filename = $_POST['delete_file']; 
    if (file_exists($filename)) { 
    unlink($filename); 
    echo 'File '.$filename.' has been deleted'; 
    } else { 
    echo 'Could not delete '.$filename.', file does not exist'; 
    } 
} 
?> 
+1

あなたの問題は何ですか?コードの作業、私は思います。 – halojoy

+0

ajaxを使わずにコードを実行し、ページをリフレッシュする必要がある、ajaxを使うために画像を含むdivにインクリメントIDを与えなければならないと思うが、 – hameds1

答えて

0

増分変数の追加:

$i = 1; 

foreach($images as $image) { 
    ... 
    $i++; 
} 

を今することができます$iを使用してuniqを追加してください任意のIDに接尾辞を付けてください。

関連する問題