Estoy enviando varias archivos y estoy testeando de que me los lea pero al momento que quiero contar cuantos archivos envia via AJAX me arroja este error
Warning :count():Parameter must be an array or an object that implements Countable in c://DIRECCIONDELPHP ONLINE 15
Así estoy enviando mis archivos por ajax
$(document).ready(function() {
$('#files').click(function() {
var attachments = document.getElementById('archivo');
var data = new FormData();
for (i = 0; i < attachments.files.length; i++) {
data.append('file', attachments.files[i]);
console.log(attachments.files[i]);
}
$.ajax({
data: data ,
url: "subida.php",
type: "POST",
contentType: false,
processData: false,
success:
function (r) {
alert('' + r);
}
});
});
});
Y aqui esta como quiero saber cuantos archivos hay
$count = count($_FILES['file']['name']);
for ($i = 0; $i < $count; $i++) {
echo 'Nombre: '.$_FILES['file']['name'][$i].'<br/>';
}
Ya lo solucione me falto leer documentación sobre FormData que crea claves, es decir solo mandaba 1 archivo para esto solo hice lo siguiente por si a alguien le sirve.
var attachments = document.getElementById('archivo');
var data = new FormData();
var cc = attachments.files.length;
data.append('cc',cc);
for (i = 0; i < attachments.files.length; i++) {
data.append('file'+i, attachments.files[i]);
}
El cc es la longitud de cuantos archivos mando ya despues en el php solo concateno dentro de un form como file0 file1, y listo.