Я хочу удалить изображения, которые были разогнаны один за другим в php.
Я использовал следующий код для отображения изображений. При нажатии кнопки удаления изображение удаляется из папки для загрузки.
Код
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 в этом коде.
Включите jquery в заголовок страницы. Затем замените
echo '<input type="hidden" value="'.$files.'" name="delete_file" />'; echo '<input type="submit" value="Delete image" />';
в
echo '<input type="hidden" value="'.$files.'" name="delete_file" id="delete_file" />'; echo '<input type="button" value="Delete image" onclick="delete_image()"/>';
Затем напишите функцию javascript для вызова ajax.
function delete_image() { var status = confirm("Are you sure you want to delete ?"); if(status==true) { var file = $("#delete_file").val(); $.ajax({ type:"POST", url:"ImageLap.php", data:{file:file}, success(html){ alert('Deleted'); } }); } }
Затем в файле доступа php как $ _POST ['file']
Я просто даю острую идею использования 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; } }
Теперь создайте простой файл Ajax, в котором используйте $ _POST, чтобы получить идентификатор первичного ключа, который вы отправляете из ajax-запроса POST, и используйте свой запрос на удаление. Думаю, не нужно объяснять это.