2

PHPでアップロードした画像を1枚ずつ削除したい。

画像を表示するために次のコードを使用しました。削除ボタンをクリックすると、画像はアップロードフォルダーから削除されます。

コード

ImageLap.tpl.php

foreach ( $mainfile as $files ) {
     echo '<img src="'.$files.'" width="100" height="65">';
     echo '<input type="hidden" value="'.$files.'" name="delete_file" />';
     echo '<input type="submit" value="Delete image" />';
 }

ImageLap.php

  if ( array_key_exists ('delete_file', $_POST ) ) {
       $filename = $_POST['delete_file'];
       if ( file_exists ( $filename ) ) {
           unlink( $filename );
           echo 'File '.$filename.' has been deleted';
       }
  }

このコードはうまく機能していますが、ファイルを削除するたびにページを更新する必要があります。ページを更新せずにファイルを削除したいのですが、これにはajaxが使われていると聞きましたが、ajaxの知識がありません

このコードに ajax を実装するのを手伝ってください。

4

2 に答える 2

0

私はAJAXを使用するという鋭いアイデアを与えているだけです:

これがあなたのループです:

foreach ( $mainfile as $files ) {
    echo '<img src="'.$files.'" width="100" height="65">';
    echo '<input type="hidden" value="'.$files.'" name="delete_file" />';
    echo '<input type="button" value="Delete image" onclick="delete_post(<?php echo $YourPrimaryKey; ?>);" />';
}

JQuery Ajaxコードは次のとおりです。

function delete_post( id ) {
    m = confirm("Are you sure you want to delete this post?");  
    if( m == true ) {
       $.post('ajax_files/ImageLap.php.php', {post_id:id}, // Set your ajax file path
       function( data ) {
         $('#yourDataContainer').html( data ); // You can Use .load too
       });
    } else {
       return false;
    }
}

次に、 $_POSTを使用して ajax 呼び出しからPOSTで送信したプライマリ キー ID を取得し、削除クエリを使用する単純な Ajax ファイルを作成します。これについて説明する必要はないと思います。

于 2013-09-16T05:05:51.173 に答える