Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/07/2021, 23:16
Avatar de zerpico_01
zerpico_01
 
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Como hacer que no se repitan los mensajes

Cita:
Iniciado por fedefrankk Ver Mensaje
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
  1. (function(){
  2.     var button=document.getElementById('btnSubmit')
  3.    
  4.     var input = document.getElementById('images'),
  5.         formdata = false;
  6.    
  7.     function mostrarImagenSubida(source){
  8.         var list = document.getElementById('lista-imagenes'),
  9.             li   = document.createElement('li'),
  10.             img  = document.createElement('img');
  11.         img.src = source;
  12.         li.appendChild(img);
  13.         list.appendChild(li);
  14.     }
  15.    
  16.     //Revisamos si el navegador soporta el objeto FormData
  17.     if(window.FormData){
  18.         formdata = new FormData();
  19. //        document.getElementById('btnSubmit').style.display = 'none';
  20.     }
  21.    
  22.     if(input.addEventListener){
  23.         input.addEventListener('change', function(evt){
  24.             var i = 0, len = input.files.length, img, reader, file;
  25.             if (len > 2) {
  26.                 alert('Solo puedes seleccionar 2 imágenes');
  27.                 input.value = '';
  28.                 return false;
  29.             }
  30.             //Si hay varias imágenes, las obtenemos una a una
  31.             for( ; i < len; i++){
  32.                 file = input.files[i];
  33. //                console.log(file);
  34.                 //Una pequeña validación para subir imágenes
  35.                 if(!!file.type.match(/image.*/)){
  36.                     //Si el navegador soporta el objeto FileReader
  37.                     if(window.FileReader){
  38.                         reader = new FileReader();
  39.                         //Llamamos a este evento cuando la lectura del archivo es completa
  40.                         //Después agregamos la imagen en una lista
  41.                         reader.onloadend = function(e){
  42.                             mostrarImagenSubida(e.target.result);
  43.                         };
  44.                         //Comienza a leer el archivo
  45.                         //Cuando termina el evento onloadend es llamado
  46.                         reader.readAsDataURL(file);
  47.                     }
  48.                 }
  49.             }
  50.         }, false);
  51.     }
  52.    
  53.     //Aplicamos la subida de imágenes al evento change del input file
  54.     if(button.addEventListener){
  55.         button.addEventListener('click', function(evt){
  56.             var i = 0, len = input.files.length, img, reader, file;
  57.            
  58.             document.getElementById('response').innerHTML = 'Subiendo...';
  59.            
  60.             //Si hay varias imágenes, las obtenemos una a una
  61.             for( ; i < len; i++){
  62.                 file = input.files[i];
  63. //                console.log(file);
  64.                 //Una pequeña validación para subir imágenes
  65.                 if(!!file.type.match(/image.*/)){
  66.                     //Si el navegador soporta el objeto FileReader
  67. //                    if(window.FileReader){
  68. //                        reader = new FileReader();
  69. //                        //Llamamos a este evento cuando la lectura del archivo es completa
  70. //                        //Después agregamos la imagen en una lista
  71. //                        reader.onloadend = function(e){
  72. //                            mostrarImagenSubida(e.target.result);
  73. //                        };
  74. //                        //Comienza a leer el archivo
  75. //                        //Cuando termina el evento onloadend es llamado
  76. //                        reader.readAsDataURL(file);
  77. //                    }
  78.                    
  79. //                    Si existe una instancia de FormData
  80.                     if(formdata)
  81.                         //Usamos el método append, cuyos parámetros son:
  82.                             //name : El nombre del campo
  83.                             //value: El valor del campo (puede ser de tipo Blob, File e incluso string)
  84.                         formdata.append('images[]', file);
  85.                 }
  86.             }
  87.            
  88.             //Por último hacemos uso del método proporcionado por jQuery para hacer la petición ajax
  89.             //Como datos a enviar, el objeto FormData que contiene la información de las imágenes
  90.             if(formdata){
  91.                 $.ajax({
  92.                    url : 'upload.php',
  93.                    type : 'POST',
  94.                    data : formdata,
  95.                    processData : false,
  96.                    contentType : false,
  97.                    success : function(res){
  98.                        document.getElementById('response').innerHTML = res;
  99.                    }                
  100.                 });
  101.             }
  102.         });
  103.     }
  104. }());

y en php:

Código PHP:
Ver original
  1. <?php
  2.  
  3.     $i = 0;
  4.     foreach ($_FILES['images']['error'] as $key => $error) {
  5.         if ($error == UPLOAD_ERR_OK) {
  6.             $name = $_FILES['images']['name'][$key];
  7.             $cuantas = count($_FILES['images']['name']);
  8.             if ($cuantas >= 3) {
  9.                 echo "<h2>Hastta 2 artchivos ".(int)$cuantas."</h2>";
  10.                 break;
  11.             } else {
  12.                 $i++;
  13.                 move_uploaded_file(
  14.                     $_FILES['images']['tmp_name'][$key],
  15.                     'images/' .strip_tags($name, ENT_QUOTES, 'UTF-8)
  16.                );
  17.                if ($i == 3) {
  18.                   echo "<h2>Archivos correctamente subidos ".(int)$cuantas."</h2>";
  19.                  break;
  20.            }
  21.        }
  22.    }
  23. }
  24.    
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32. ?>

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 -