ОБНОВЛЕНИЕ Медленно, постепенно я прогрессирую, поэтому я передумал использовать метод append (). Мой ajax запрос в порядке:
var arrImg = new FormData();
for (var i = 0; i < nbFiles; i++) {
var actualName = $(fromInput)[0].files[i].name;
if(actualName != valueToDelete){
imgValue = document.getElementById('image_1').files[i];
arrImg.append("image[]", imgValue);
}
}
arrImg.append('action','delete_tof');
arrImg.entries();
// console.log(arrImg)
my_url = ajaxurl;
$.ajax({
url:my_url,
data :arrImg,
contentType: false,
processData: false,
method: 'POST',
success : function(data){
console.log(data);
},
error : function( data ) {
console.log(data)
alert('Une erreure s\'produite, au moment d\'effacer votre image');
// location.reload();
}
})
результат consol.log (data) Результат ajax запроса в порядке
Тогда моя функция php
function delete_tof(){
// Count total files
$countfiles = count($_FILES['image']['name']);
// Upload directory
$upload_location = '/tmp/';
// To store uploaded files path
$files_arr = array();
// Loop all files
for($index = 0;$index < $countfiles;$index++){
// File name
$filename = $_FILES['image']['name'][$index];
// Get extension
$ext = pathinfo($filename, PATHINFO_EXTENSION);
// Valid image extension
$valid_ext = array("png","jpeg","jpg");
// Check extension
if(in_array($ext, $valid_ext)){
// File path
$path = $upload_location.$filename;
// Upload file
if(move_uploaded_file($_FILES['image']['tmp_name'][$index],$path)){
$files_arr[] = $path;
}
}
}
echo json_encode($files_arr);
wp_die();
}
И vardump $ _FILES и $ files_arr в порядке
vardump $ _FILES в функции в порядке
Но я не понимаю, почему, когда я отправляю свою оригинальную форму, у меня все еще неправильное количество файлов?
Следующая первая попытка, но список файлов не обновляется, поэтому я оставил эту попытку
Я пытаюсь обновить список файлов в javascript Я создаю массив данных изображения, как что
var arrImg = [];
for (var i = 0; i < nbFiles; i++) {
imgValue = $(fromInput)[0].files[i];
arrImg.push(imgValue);
}
С этим l oop у меня есть то, что мне нужно для обновления FileList.
Мой массив данных
Проблема после для обновления списка файлов.
Я обнаружил, что:
Функция для списка обновлений
Но я не могу приспособить ее к моей проблеме. Я пробовал разные вещи, такие как
arrImg.push(new File(imgValue)); //In the loop
затем
$(fromInput).arrImg = FileListItem(arrImg)
Но безуспешно, потому что отсутствует аргумент
Возможно, есть другой способ с методом file () но это не сработает
$(fromInput).file(['File'],arrImg[1])