17/07/2021, 23:16
|
| | | Fecha de Ingreso: enero-2008 Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 17 años Puntos: 13 | |
Respuesta: Como hacer que no se repitan los mensajes Cita:
Iniciado por fedefrankk 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. Pues debe usar la lógica que le indica Alexis88 Lo que yo le explique es a la ligera para que logre lo que usted necesita, pero no es lo correcto, eso lo aclaro abajo de mi ejemplo
en el ejemplo que le di da error por que se me escapo un parámetro no va el UTF-8 https://www.php.net/manual/es/function.strip-tags.php
los demás errores se producen por el primero, asi que quite el uft-8 y dejelo así:
cambie esto:
'images/' .strip_tags($name, ENT_QUOTES, 'UTF-8')
por esto:
'images/' .strip_tags($name)
Saludos
__________________ Es duro fracasar en algo, pero es mucho peor no haberlo intentado. - Si crees todo lo que lees, mejor no leas - |