Foros del Web » Programando para Internet » PHP »

move_uploaded_fiile y Copy no generan el temp

Estas en el tema de move_uploaded_fiile y Copy no generan el temp en el foro de PHP en Foros del Web. Hola chicos tengo este código, PRimero... - Verifiqué el php.ini y la subida está ok - Verifiqué los permisos y no creo que sea eso ...
  #1 (permalink)  
Antiguo 19/11/2012, 19:03
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 13 años, 1 mes
Puntos: 0
move_uploaded_fiile y Copy no generan el temp

Hola chicos tengo este código,

PRimero...
- Verifiqué el php.ini y la subida está ok
- Verifiqué los permisos y no creo que sea eso
- Win7 cn Xampp
- el Form lo revisé y está ok, me manda todos los datos. y tiene el encrypt

lo curioso que cuando reviso las carpetas y todo no veo que gener el archivo tmp en la carpeta xampp.... En general Me guarda la ruta, me da la ruta correcta, pero no sube ni copia el archivo..... grax!

guarda php
Código PHP:
$indate=$_POST["indate"];
            
$marca=$_POST["marca"];
            
$estado=$_POST["estado"];
            if(empty(
$_FILES['imagen']['name'])){$ruta="";}else{$ruta="http://localhost/elementorfinal/img/marca/";}
            
//print_r($_POST);
            
        //Si la fecha de ingreso y el nombre de la marca están completos Continúo
        
if(empty($indate) || empty($marca)){ 
                            
$msg="vacio";
                            
//print_r($_POST);//[ ver lo que saco de post ]
                            
header("Location: agregarMarca.php?msg=$msg");
                            }else{ 
//03
                            //Comparo que la marca no se encuentre en mi BD.
                             
$empbase "SELECT * FROM marcaproducto WHERE marca='$marca'";
                             
$empA mysql_query($empbase,$link) or die("La siguiente consulta contiene algún error: <br> nSQL: <b>$sql</b>");
                             
$comp mysql_fetch_array($empA);
                                     
// Si la marca no está Continúo.
                                    
if(!empty($comp["marca"])){
                                          
$msg="existe";
                                         
header("Location: agregarMarca.php?msg=$msg");
                                          }else{ 
//04
                                                
if(!empty($ruta)){ //05
                                                    //comparo que el tipo sea una imágen y que sea hasta 1MB y no sea más de 150px.
                                                    // Entrego los valores de la imágen.
                                                    
$img_tmpname $_FILES['imagen']['tmp_name'];
                                                    
//echo $img_tmpname."<br>"; 
                                                    
$img_nombre  $_FILES['imagen']['name'] ;
                                                    
//echo $img_nombre."<br>";                     
                                                    
$img_tipo  $_FILES['imagen']['type'];
                                                    
$img_nombre $ruta.$img_nombre;
                                                    
//echo $img_nombre;
                                                    //Si el archívo es una imágen jpg, pgn, gif o jpeg continúo
                                                        
if($img_tipo!='image/jpeg'  && $img_tipo!='image/jpg' && $img_tipo!='image/png' && $img_tipo!='image/gif'){
                                                                
$msg="extrano";
                                                                
header("Location: agregarMarca.php?msg=$msg&marca=$marca");
                                                        }else{ 
//06
                                                            // entrego demás parámetros.
                                                            
$img_peso $_FILES['imagen']['size'];
                                                            
$info getimagesize($img_tmpname); 
                                                            
$ancho $info[0];
                                                            
$alto $info[1];
                                                                
//Si la imágen cumple con el tamaño esperado sigo
                                                                
if($alto != 150 || $ancho!=150 || $img_peso 1048576 ){
                                                                    
$msg="tamano";
                                                                    
header("Location: agregarMarca.php?msg=$msg&marca=$marca");
                                                                }else{ 
//07
                                                                        
copy($_FILES['imagen']['tmp_name'], $img_nombre);
                                                                        
//move_uploaded_file( $_FILES['imagen']['tmp_name'], $ruta);
                                                                        
$insertarA="INSERT INTO marcaproducto(marca,estado_marca,indate,rutaimg) 
                                                                        VALUES('$marca', '$estado','$indate', '$img_nombre')"
;
                                                                        
mysql_query($insertarA,$link)  or die ('Error en la consulta Con IMG >>> '.mysql_error());
                                                                        
$msg="ok";
                                                                        
//header("Location: agregarMarca.php?msg=$msg");
                                                                
}//07
                                                        
}//06
                                                
}else{ //05
                                                //si la ruta está vacía sólo inserto los campos sin img.
                                                
$insertarA="INSERT INTO marcaproducto(marca,estado_marca,indate) 
                                                VALUES('$marca', '$estado','$indate')"
;
                                                
mysql_query($insertarA,$link)  or die ('Error en la consulta SIN IMG >>> '.mysql_error());
                                                
$msg="ok";
                                                
// header("Location: agregarMarca.php?msg=$msg");
                                                
}//05
                        
}//04
            
}//03 
a ver si me dan una mano, ya me leí otros 6 temas en el foro pero no me ayduaron :/
  #2 (permalink)  
Antiguo 19/11/2012, 19:23
 
Fecha de Ingreso: noviembre-2012
Mensajes: 76
Antigüedad: 12 años
Puntos: 3
Respuesta: move_uploaded_fiile y Copy no generan el temp

prueba con $ruta=$DOCUMENT_ROOT/elementorfinal/img/marca/";
Yo creo que es la ruta...
  #3 (permalink)  
Antiguo 20/11/2012, 07:26
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: move_uploaded_fiile y Copy no generan el temp

Nada. Cambié como dijiste y no lo crea.
Código PHP:
 if(empty($_FILES['imagen']['name'])){$ruta="";}else{$ruta="$DOCUMENT_ROOT/elementorfinal/img/marca/";}
            
//print_r($_POST); 
Probaré un código simple a ver que sucede.
Después editaré y pongo el code a ver que pasa.

GRacias de Antemano!
  #4 (permalink)  
Antiguo 20/11/2012, 07:28
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: move_uploaded_fiile y Copy no generan el temp

¿el formulario tiene el enctype correspondiente?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 20/11/2012, 08:13
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: move_uploaded_fiile y Copy no generan el temp

Sip
Código PHP:
enctype="multipart/form-data" 

Bien intenté algo simple, como este script antes funcionaba bien....
Y me da ERROR.
- La carpeta img existe, t subcarpeta marca tb.
- ElementorFinal tiene a todo el sistema así que existe y funciona. El form me pasa los datos y todo, pero ahora que intenté esto simple, me tira el error.
Alguna idea? Como user de win7 tengo todos mis permisos.

Para la ruta probé relativa y absoluta: (yo estoy en elementorFinal/modulos/marcas/agregarMarca, osea desde aquí se ejecuta el form y el php)
Código PHP:
Ver original
  1. $ruta="../../../img/marca/";
  2. $ruta="http://localhost/elementorFinal/img/marca/";

Y el code de prueba es este:
Código PHP:
<?php
$ruta
="$DOCUMENT_ROOT/elementorFinal/img/marca/";
if(
copy($_FILES['imagen']['tmp_name'], $ruta)){
    echo 
"Subido";
}else{
    echo 
"error";
}

?>
Form Original:
Código PHP:
 <form enctype="multipart/form-data" class="contacto" name="agregarMarca" id="agregarMarca" method="post" accept-charset="utf-8" action='agregarMarca2.php' >
   <fieldset>
   <table cellspacing="1">
     <tr>
       <td><div class="campo">
     <label>Fecha :</label>
           <input type="hidden" class="indate" name="indate" value="<?php echo date("d/m/Y");?>"  /><span class="tituloFormulario"><?php echo date("d/m/Y");?></span>
       </div></td>
       <td> </td>
     </tr>
     <tr>
       <td><div class="campo">
           <label>Nombre:</label><input name="marca" type="text" class="marca" maxlength="140" required="required" placeholder="Ingrese Nombre de la Marca." value="<?php echo $_GET['marca']; ?>"/>
       </div></td>
       <td><div class="campo">
         <label>Estado:</label>       
       <?php $nivel="SELECT * FROM estadomarca ORDER BY id ASC";
                
$conex mysql_query($nivel,$link) or die("La siguiente consulta contiene algún error: <br> nSQL: <b>$nivel</b>");
                if(empty(
$conex)){ 
                        echo 
"'No se han definido Perfiles!'";
                 }else{ 
?>
          <select class="estado" name="estado" size="1" id="estado">
            <?php while ($r mysql_fetch_array($conex)) { ?>
            <option value="<?php echo $r['id'];?>"><?php echo $r['estadoMarca'];?></option>
            <?php
                            
//while
                
//else
            
?>
          </select>
          </div>
          </td>
     </tr>
     <tr>
       <td colspan="2"> <div class="campo">
        <label>Imágen:</label> <input class="imagen" name="imagen" type="file" >
      </div></td>
     </tr>
   </table>
  
        <div class="ultimo"><br>
        <img src="img/ajax-loader.gif" class="ajaxgif hide" />
         <button class="boton_envio">Agregar usuario</button>
      </div>
            
     </fieldset>
 </form>

Última edición por Xzelot; 20/11/2012 a las 08:21
  #6 (permalink)  
Antiguo 20/11/2012, 18:29
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 13 años, 1 mes
Puntos: 0
De acuerdo Respuesta: move_uploaded_fiile y Copy no generan el temp

Creo que lo he solucionado, he escrito NUEVAMENTE esto

Código PHP:
 $img_nombre  $_FILES['imagen']['name'] ; 
a esto..
Código PHP:
$img_nombre  $_FILES['imagen']['name']; 
Sutil error no? ...si era un espacio dps del script...

$ruta="../../../img/marca/";

Cerrado!

Etiquetas: copy, mysql, sql, emp
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 11:02.