Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/01/2012, 05:45
Avatar de repara2
repara2
 
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 8 meses
Puntos: 331
Respuesta: Error al subir fotos

CUando subes un archivo, este se copia en una carpeta temporal con un nombre temporal.
A continuación, este archivo temporal se mueve y se renombra con la función que te está dando error. Te da un error porque no encuentra el archivo temporal. Puede ser que no exista, que lo hayas borrado, o que estés pasando mal el nombre a la función. Para saber qué está pasando, utiliza el siguiente código:


Código PHP:
Ver original
  1. <?php
  2. ini_set("display_errors", 1);
  3. echo "<pre>";
  4. class Ficheros
  5. {
  6.     //METODOS STATICOS
  7.  
  8.     //Eliminar una imagen y sus thumbs
  9.     static public function eliminarArchivos($rutas)
  10.     {
  11.         for ($i=0; $i<count($rutas); $i++)
  12.         {
  13.             if(file_exists($rutas[$i])) unlink($rutas[$i]);
  14.         }
  15.     }
  16.  
  17.  
  18.     //Carga una imagen y su miniatura
  19.     static public function cargaImagenes($mover_imagen,$ruta_destino,$ruta_thumb,$tipo_archivo,$tamano_archivo,$max_ancho_imx,$ancho_thumb,$alto_thumb,$crear_thumb)
  20.     {
  21.         print_r(func_get_args());
  22.        
  23.         //TIPOS DE ERRORES - [0] Exito - [1] Extension - [2] Tipo de imagen - [3] Datos de imagen - [4] Carga de imagen
  24.         //Con strpos encontramos la posicion de una cadena en nuestro string
  25.         if ( !( strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg") || strpos($tipo_archivo, "png")) && ($tamano_archivo < 1578300) ) {return 1; exit;}
  26.         else
  27.         {
  28.             echo "<h1>move_uploaded_file($mover_imagen, $ruta_destino)</h1>";
  29.             if (move_uploaded_file($mover_imagen, $ruta_destino))
  30.             {
  31.                 chmod($ruta_destino, 0755 ); //Le damos permisos a la ruta de destino
  32.                 //Cojemos el ancho y el alto de la imagen
  33.  
  34.                 if(@$datos_imagen=getimagesize($ruta_destino)) //Si consigue el ancho y el alto de la imagen
  35.                 {
  36.                     $ancho_imagen_original=$datos_imagen[0];
  37.                     $alto_imagen_original=$datos_imagen[1];
  38.                     $imagen_corregida=$ruta_destino;
  39.  
  40.                     //Vemos que tipo de archivo es
  41.                     switch($tipo_archivo)
  42.                     {
  43.                         case "image/jpeg": if(!@$imagen_corregida=imagecreatefromjpeg($ruta_destino)){return 2; exit;} break;
  44.                         case "image/gif": if(!@$imagen_corregida=imagecreatefromgif($ruta_destino)){return 2; exit;} break;
  45.                         case "image/png": if(!@$imagen_corregida=imagecreatefrompng($ruta_destino)){return 2; exit;} break;
  46.                     }
  47.                        
  48.                     //CORRECCION DE IMAGEN - Si el ancho de la imagen sobrepasa el limite hay que reducirla.
  49.                     if($ancho_imagen_original>$max_ancho_imx)
  50.                     {
  51.                         //El alto a proporcion
  52.                         $alto_max_imx=round(($max_ancho_imx/$ancho_imagen_original)*$alto_imagen_original);
  53.                            
  54.                         //Creo una nueva imagen
  55.                         $imagen_nueva = imagecreatetruecolor($max_ancho_imx, $alto_max_imx);
  56.                            
  57.                         //Ahora sustituimos la imagen que sobrepasa el limite por la nueva
  58.                         imagecopyresampled($imagen_nueva, $imagen_corregida, 0, 0, 0, 0, $max_ancho_imx, $alto_max_imx, $ancho_imagen_original, $alto_imagen_original);
  59.                         imagejpeg($imagen_nueva, $ruta_destino, 100);
  60.                     }
  61.                        
  62.                     //CREAR THUMBNAIL
  63.                     if($crear_thumb==1)
  64.                     {
  65.                         //El alto a proporcion
  66.                         $alto_imx_thumb=round(($ancho_thumb/$ancho_imagen_original)*$alto_imagen_original);
  67.                         $ancho_imx_thumb=$ancho_thumb;
  68.                            
  69.                         if($alto_imx_thumb<$alto_thumb)
  70.                         {
  71.                             $alto_imx_thumb=$alto_thumb;
  72.                             $ancho_imx_thumb=round(($alto_thumb/$alto_imagen_original)*$ancho_imagen_original);
  73.                         }
  74.                            
  75.                         //Creo una nueva imagen
  76.                         $imagen_thumb = imagecreatetruecolor($ancho_thumb, $alto_thumb);
  77.                            
  78.                         //Ahora sustituimos la imagen que sobrepasa el limite por la nueva
  79.                         imagecopyresampled($imagen_thumb, $imagen_corregida, 0, 0, 0, 0, $ancho_imx_thumb, $alto_imx_thumb, $ancho_imagen_original, $alto_imagen_original);
  80.                         imagejpeg($imagen_thumb, $ruta_thumb, 100);
  81.                     }
  82.                 }
  83.                 else {return 3; exit;}
  84.                 return 0;
  85.             }
  86.             else {return 4; exit;}
  87.         }
  88.     }
  89.  
  90.     //Cargar un archivo
  91.     static public function subirArchivos($mover_archivo,$ruta_destino,$tipo_archivo,$tamano_archivo)
  92.     {
  93.         //TIPOS DE ERRORES O CONFIRMACIONES - [0] Exito - [1] Extension - [2] Carga de archivo
  94.         //Con strpos encontramos la posicion de una cadena en nuestro string
  95.         if ( !( strpos($tipo_archivo, "pdf") || strpos($tipo_archivo, "msword") ) && ($tamano_archivo < 1578300) ) {return 1; exit;}
  96.         else
  97.         {
  98.             if (move_uploaded_file($mover_archivo, $ruta_destino))
  99.             {
  100.                 chmod($ruta_destino, 0755 ); //Le damos permisos a la ruta de destino
  101.                 return 0;
  102.             }
  103.             else {return 2; exit;}
  104.         }
  105.     }
  106.  
  107.  
  108. }
  109. echo "</pre>";

Salu2
__________________
Fere libenter homines, id quod volunt, credunt.