Hola.!! gracias por contestar, he visto que jquery no lo están usando, yo saque un codigo de este foro, ( ahora te lo comparto), del lado de javascript, pude validar que se subieran 2 archivos, copie tu código y me saltaron varios errores
( no es por critica, al contrario, no se mucho y quiero aprender,) los errorres son los siguiente.:
Warning: strip_tags() expects at most 2 parameters, 3 given in C:\xampp\htdocs\SUBIR ARCHIVO_AJAX\01\upload.php on line 15
Warning: move_uploaded_file(): The second argument to copy() function cannot be a directory in C:\xampp\htdocs\SUBIR ARCHIVO_AJAX\01\upload.php on line 15
Warning: move_uploaded_file(): Unable to move 'C:\xampp\tmp\php2D75.tmp' to 'images/' in C:\xampp\htdocs\SUBIR ARCHIVO_AJAX\01\upload.php on line 15
Warning: strip_tags() expects at most 2 parameters, 3 given in C:\xampp\htdocs\SUBIR ARCHIVO_AJAX\01\upload.php on line 15
Warning: move_uploaded_file(): The second argument to copy() function cannot be a directory in C:\xampp\htdocs\SUBIR ARCHIVO_AJAX\01\upload.php on line 15
Warning: move_uploaded_file(): Unable to move 'C:\xampp\tmp\php2D85.tmp' to 'images/' in C:\xampp\htdocs\SUBIR ARCHIVO_AJAX\01\upload.php on line 15
dejo el código javascript.:
Código Javascript
:
Ver original(function(){
var button=document.getElementById('btnSubmit')
var input = document.getElementById('images'),
formdata = false;
function mostrarImagenSubida(source){
var list = document.getElementById('lista-imagenes'),
li = document.createElement('li'),
img = document.createElement('img');
img.src = source;
li.appendChild(img);
list.appendChild(li);
}
//Revisamos si el navegador soporta el objeto FormData
if(window.FormData){
formdata = new FormData();
// document.getElementById('btnSubmit').style.display = 'none';
}
if(input.addEventListener){
input.addEventListener('change', function(evt){
var i = 0, len = input.files.length, img, reader, file;
if (len > 2) {
alert('Solo puedes seleccionar 2 imágenes');
input.value = '';
return false;
}
//Si hay varias imágenes, las obtenemos una a una
for( ; i < len; i++){
file = input.files[i];
// console.log(file);
//Una pequeña validación para subir imágenes
if(!!file.type.match(/image.*/)){
//Si el navegador soporta el objeto FileReader
if(window.FileReader){
reader = new FileReader();
//Llamamos a este evento cuando la lectura del archivo es completa
//Después agregamos la imagen en una lista
reader.onloadend = function(e){
mostrarImagenSubida(e.target.result);
};
//Comienza a leer el archivo
//Cuando termina el evento onloadend es llamado
reader.readAsDataURL(file);
}
}
}
}, false);
}
//Aplicamos la subida de imágenes al evento change del input file
if(button.addEventListener){
button.addEventListener('click', function(evt){
var i = 0, len = input.files.length, img, reader, file;
document.getElementById('response').innerHTML = 'Subiendo...';
//Si hay varias imágenes, las obtenemos una a una
for( ; i < len; i++){
file = input.files[i];
// console.log(file);
//Una pequeña validación para subir imágenes
if(!!file.type.match(/image.*/)){
//Si el navegador soporta el objeto FileReader
// if(window.FileReader){
// reader = new FileReader();
// //Llamamos a este evento cuando la lectura del archivo es completa
// //Después agregamos la imagen en una lista
// reader.onloadend = function(e){
// mostrarImagenSubida(e.target.result);
// };
// //Comienza a leer el archivo
// //Cuando termina el evento onloadend es llamado
// reader.readAsDataURL(file);
// }
// Si existe una instancia de FormData
if(formdata)
//Usamos el método append, cuyos parámetros son:
//name : El nombre del campo
//value: El valor del campo (puede ser de tipo Blob, File e incluso string)
formdata.append('images[]', file);
}
}
//Por último hacemos uso del método proporcionado por jQuery para hacer la petición ajax
//Como datos a enviar, el objeto FormData que contiene la información de las imágenes
if(formdata){
$.ajax({
url : 'upload.php',
type : 'POST',
data : formdata,
processData : false,
contentType : false,
success : function(res){
document.getElementById('response').innerHTML = res;
}
});
}
});
}
}());
y en php:
Código PHP:
Ver original<?php
$i = 0;
foreach ($_FILES['images']['error'] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$name = $_FILES['images']['name'][$key];
$cuantas = count($_FILES['images']['name']); if ($cuantas >= 3) {
echo "<h2>Hastta 2 artchivos ".(int)$cuantas."</h2>";
break;
} else {
$i++;
$_FILES['images']['tmp_name'][$key],
);
if ($i == 3) {
echo "<h2>Archivos correctamente subidos ".(int)$cuantas."</h2>";
break;
}
}
}
}
?>
No se que estoy haciendo mal..
Cualquier ayuda se agradece.!
Saludos y gracias por su tiempo.