Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con $_FILES

Estas en el tema de Problema con $_FILES en el foro de PHP en Foros del Web. hola chicos(as) espero esten bien... tengo un problemilla con la funcion antes escrita en el titulo, y es que estoy empezando a trabajar con ella ...
  #1 (permalink)  
Antiguo 05/08/2016, 18:50
 
Fecha de Ingreso: agosto-2011
Mensajes: 87
Antigüedad: 12 años, 8 meses
Puntos: 3
Problema con $_FILES

hola chicos(as) espero esten bien...


tengo un problemilla con la funcion antes escrita en el titulo, y es que estoy empezando a trabajar con ella en modo prueba...

bueh, no logro insertar varias imagenes a la vez, es decir... me da los NAME de las imagenes, pero no me da las demas descripciones como TYPE, TMP_NAME, ERROR y SIZE y como consecuencia no puedo hacer las validaciones

CODIGO

Código HTML:
<form enctype="multipart/form-data" action="registrarFormulario.php" name="cagada" method="POST">
					
						<table id="tablaNoticiaPost">
						
							<tbody><tr>
								<td>
							 <input type="hidden" name="MAX_FILE_SIZE" value="30000">
							<input type="text" name="tituloPost" alt="Titulo" required="required" placeholder="Titulo" class="inputPadding"></td>
							
							</tr>
							<tr>
								<td>
									<ul id="imagenesForm" style="list-style: none;">
										
									<li id="1">
<div id="posteoimagen"><input onchange="agregarImagenTextField(event)" type="file" value="Imagen" name="imagen[]" class="boton uploadImagen" multiple="">
<div onclick="eliminarImagen(event)" class="boton eliminarImagen" style="cursor:pointer;">X</div>
</div></li>
<li id="2">
<div id="posteoimagen">
<input onchange="agregarImagenTextField(event)" type="file" value="Imagen" name="imagen[]" class="boton uploadImagen" multiple="">
<div onclick="eliminarImagen(event)" class="boton eliminarImagen" style="cursor:pointer;">X</div>
</div>
</li>
<li id="3">
<div id="posteoimagen">
<input onchange="agregarImagenTextField(event)" type="file" value="Imagen" name="imagen[]" class="boton uploadImagen" multiple="">
<div onclick="eliminarImagen(event)" class="boton eliminarImagen" style="cursor:pointer;">X</div>
</div>
</li>
</ul>
									
									<span class="boton" id="addImagen" style="cursor:pointer;">Añadir imagen + </span>
								</td></tr><tr>
							</tr><tr>
							</tr><tr>
								
								<td>
								
									<textarea id="textAreaNoticia" name="contenidoPost" required="required" placeholder="Titulo" class="inputPadding" style="min-height: 150px; height: 236px;">
</textarea>
									
								</td>
								
							</tr>
							<tr>
							
								<td>
								
									<input type="submit" value="Publicar" class="boton">
								
								</td>
							
							</tr>
							
						
						</tbody></table>
					
					
					</form> 
PHP

Código PHP:

new registroFormulario();

class 
registroFormulario {

    public function 
__construct(){
        
        
        if(isset(
$_POST)){
/*
            echo $_POST["tituloPost"];
            $uploadedfileload="true";
            $carpeta = "http://localhost/seguridadPHP/";
    
            print_r($_FILES["imagen"]["size"]);
            echo '<h1>'.$_POST['tituloPost'].'</h1>';
            
            $archivo = $this->organizar_array($_FILES["imagen"]);*/
            
            
print_r($_FILES["imagen"]);
            
            if(
$_FILES["imagen"]["size"][0]>1){

                echo 
'alert("buena");';
                
            }else {
                

                echo 
'alert("Cagada");';
                
            }
            
            
            
            
        }else {
    
            echo 
"NO hay datos";
    
        }
        
    }
    
    public function 
validarImagen($imagen) {

        
        echo 
'<h1>'.$imagen['size'].'</h1><br>';
        
    }
    
    function 
organizar_array($vector) {
        
        
$resultado = array();
        
        foreach (
$_FILES["imagen"] as $clave => $valor) {
                
            foreach (
$valor as $clave1 => $valor2){
                    
                
$resultado[$clave1][$clave] = $valor2;
                
            
            }
                
        }
                return 
$resultado;
                
    }
    
    
    

y esto es lo que me arroja el PRINT_R

Código:
Array ( [name] => Array ( [0] => imagen1.jpg [1] => imagen2.jpg [2] => imagen3.jpg ) 
[type] => Array ( [0] => [1] => [2] => ) 
[tmp_name] => Array ( [0] => [1] => [2] => ) 
[error] => Array ( [0] => 2 [1] => 2 [2] => 2 )
[size] => Array ( [0] => 0 [1] => 0 [2] => 0 ) )
  #2 (permalink)  
Antiguo 05/08/2016, 19:12
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con $_FILES

¿Te sirve esto a modo de ejemplo?

Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.     </head>
  4.     <body>
  5.         <form method="post" action="" enctype="multipart/form-data">
  6.             <input type="file" name="files[]" multiple /><br/>
  7.             <input type="submit" name="send" value="GO!" />
  8.         </form>
  9.         <br/><br/>
  10.         <?php
  11.         if(isset($_POST["send"])){
  12.             for($k=0;$k<sizeof($_FILES["files"]["tmp_name"]);$k++){
  13.             echo "Nombre archivo ".($k+1).": ".$_FILES["files"]["name"][$k]."<br/>";
  14.             }
  15.         }
  16.         ?>
  17.     </body>
  18. </html>
  #3 (permalink)  
Antiguo 05/08/2016, 19:25
 
Fecha de Ingreso: agosto-2011
Mensajes: 87
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Problema con $_FILES

Cita:
Iniciado por alvaro_trewhela Ver Mensaje
¿Te sirve esto a modo de ejemplo?

Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.     </head>
  4.     <body>
  5.         <form method="post" action="" enctype="multipart/form-data">
  6.             <input type="file" name="files[]" multiple /><br/>
  7.             <input type="submit" name="send" value="GO!" />
  8.         </form>
  9.         <br/><br/>
  10.         <?php
  11.         if(isset($_POST["send"])){
  12.             for($k=0;$k<sizeof($_FILES["files"]["tmp_name"]);$k++){
  13.             echo "Nombre archivo ".($k+1).": ".$_FILES["files"]["name"][$k]."<br/>";
  14.             }
  15.         }
  16.         ?>
  17.     </body>
  18. </html>

modifique tu codigo quedando de la siguiente manera para que me diera el size aunque sea

Código PHP:

                
for($k=0;$k<sizeof($_FILES["imagen"]["tmp_name"]);$k++){
                    
                    echo 
"Nombre archivo ".($k+1).": ".$_FILES["imagen"]["name"][$k]."<br/>";
                    echo 
"Tamaño archivo: ".($k+1).": ".$_FILES["imagen"]["size"][$k]."<br/>";
                    
                } 
lo que me arroja:

Código:
Nombre archivo 1: 19427_1146815092011152_6617677404217230808_n.jpg
Tamaño archivo: 1: 0
Nombre archivo 2: 988390_711952242188554_1021549595_n.jpg
Tamaño archivo: 2: 0
Nombre archivo 3: 1533961_674597442590701_477327164_n.jpg
Tamaño archivo: 3: 0
como podras ver, no me arroja el SIZE ni el TYPE ni el ERROR
  #4 (permalink)  
Antiguo 05/08/2016, 20:02
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con $_FILES

Ni idea, yo lo probé en local y en mi web y ningun problema te dejo un pantallazo:



Revisa
  #5 (permalink)  
Antiguo 05/08/2016, 20:09
 
Fecha de Ingreso: agosto-2011
Mensajes: 87
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Problema con $_FILES

ñerda loco... sera mi servidor ? :/
  #6 (permalink)  
Antiguo 05/08/2016, 20:14
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con $_FILES

Ni idea man. no sé que puede ser. prueba en local para ver si hay diagnóstico
  #7 (permalink)  
Antiguo 05/08/2016, 20:23
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Problema con $_FILES

Estas usando Ajax ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #8 (permalink)  
Antiguo 05/08/2016, 21:34
 
Fecha de Ingreso: agosto-2011
Mensajes: 87
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Problema con $_FILES

Cita:
Iniciado por hhs Ver Mensaje
Estas usando Ajax ?
no compa... solo JQuery para agregar un input por cada imagen es decir... crear un <li> y con su contenido.. luego toma el valor del nombre de la imagen y la coloca en text field

pero mas alla de ahi negativo :/

¿que habias deducido si habia usado ajax?
  #9 (permalink)  
Antiguo 05/08/2016, 22:02
 
Fecha de Ingreso: agosto-2011
Mensajes: 87
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Problema con $_FILES

jajajaja CSM ya encontre el error...

en el formulario tengo este campo

Código HTML:
<input type="hidden" name="MAX_FILE_SIZE" value="30000"> 
ps este input es el tamaño maximo del archivo a ser subido, tenia como valor 30000 bytes que si mal no recuerdon son aproximadamente 30Kilobytes y las imagenes pesaban mucho mas que eso jajaja

una tonteria pero me atrasó toda la tarde ! :/

Tomen nota muchachones...

gracias por responder a los de arriba ! muy agradecido.. de verdad! ;)

aqui os dejo un link con los posibles errores de $_FILES

http://php.net/manual/es/features.file-upload.errors.php

[URL="http://php.net/manual/es/features.file-upload.errors.php"]http://php.net/manual/es/features.file-upload.errors.php[/URL]

Etiquetas: $_files, imagenes, multiples
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:08.