Foros del Web » Programando para Internet » PHP »

Error al subir imagen

Estas en el tema de Error al subir imagen en el foro de PHP en Foros del Web. Hola amigos, cuando intento subir una imagen me tira el siguiente error Cita: Warning: move_uploaded_file(Usuarios/Imagenes//8_13062011_01.image/pjpeg) [function.move-uploaded-file]: failed to open stream: No such file or directory ...
  #1 (permalink)  
Antiguo 12/06/2011, 16:26
Avatar de juanleonardo  
Fecha de Ingreso: agosto-2007
Mensajes: 382
Antigüedad: 16 años, 8 meses
Puntos: 0
Error al subir imagen

Hola amigos, cuando intento subir una imagen me tira el siguiente error
Cita:
Warning: move_uploaded_file(Usuarios/Imagenes//8_13062011_01.image/pjpeg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\Archivos de programa\EasyPHP5.2.10\www\siryco.com.ar\subirImag en.php on line 32
Esto es en la linea
move_uploaded_file($_FILES['imgUser']['tmp_name'], destino."/".$cad.".".$tipo);
Lo raro es q cuando hago
Cita:
move_uploaded_file($_FILES['imgUser']['tmp_name'],"nombreCarpeta/img.jpg");
Lo sube perfectamente
Que puede ser?
Gracias desde ya por la ayuda, saludos
  #2 (permalink)  
Antiguo 12/06/2011, 16:49
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 3 meses
Puntos: 306
Respuesta: Error al subir imagen

Código PHP:
Ver original
  1. move_uploaded_file($_FILES['imgUser']['tmp_name'], destino."/".$cad.".".$tipo);

No debería ser:
Código PHP:
Ver original
  1. move_uploaded_file($_FILES['imgUser']['tmp_name'], $destino."/".$cad.".".$tipo);
Digo, "destino" supongo que es una variable, es decir : $destino

¿que tienes en las variables $cad y $tipo exactamente?
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #3 (permalink)  
Antiguo 22/06/2011, 07:41
Avatar de juanleonardo  
Fecha de Ingreso: agosto-2007
Mensajes: 382
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Error al subir imagen

Gracias C2am por la respuesta, las variables $cad tiene el nombre del archivo y $tipo tiene el tipo de archivo que se esta subiendo.
Pero probe con eso y tampoco funciono espero su ayuda porq nose q esta pasando
Saludos y gracias
  #4 (permalink)  
Antiguo 22/06/2011, 07:52
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Error al subir imagen

pero no te hace falta el tipo de archivo, te hace falta el archivo


$tempFile = $_FILES['Filedata']['tmp_name'];

$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];

move_uploaded_file($tempFile,$targetFile);

así lo hago yo.
  #5 (permalink)  
Antiguo 28/08/2011, 15:26
Avatar de juanleonardo  
Fecha de Ingreso: agosto-2007
Mensajes: 382
Antigüedad: 16 años, 8 meses
Puntos: 0
Mensaje Respuesta: Error al subir imagen

Hola amigos sigo con el mismo error, recien pude seguir haciendo pruebas. No se si servira de ayuda pero quiero hacer la subida de imagen en la msma pagina, nose si tiene algo q ver con la configuracion de extenciones de php. Tengo el easyphp como server.
Hice un echo de $tempFile = $_FILES['Filedata']['tmp_name'];
pero no puede ver nada me devuelve vacio al igual q el tamaño.
Cita:
if (isset($_POST['saveImg']))
{
//echo "Tamaño: ".$tamano;
//echo "Tipo: ".$_FILES['imgUser']['type'];;
echo "NAME: ".$_FILES['imgUser']['tmp_name'];
}
Les dejo porcio de codigo que estaba haciendo pruebasy tambien el formulario:
Cita:
<form action="" method="post" enctype="multipart/form-data">
<tr>
<td align="center">
Elej&iacute; una imagen <input type="file" name="imgUser" id="imgUser" />
</td>
</tr>
<tr>
<td align="center">
<input type="submit" name="saveImg" id="saveImg" class="boton" value="Guardar imagen">
</td>
</tr>
</table>
</form>
Espero me puedan ayudar. desde ya muchas gracias.
  #6 (permalink)  
Antiguo 28/08/2011, 18:49
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 3 meses
Puntos: 306
Respuesta: Error al subir imagen

Hola, este es el script que uso y que funciona:
en mi form el campo input file se llama "file", el tuyo será imgUser

Código PHP:
Ver original
  1. <?
  2. // ----- script para subir la imagen ---   
  3.     if($_POST){
  4. // Creamos la cadena aletoria -- la modifique para poder utilizar el nombre + aleatorio
  5. $nom=explode(".",$_FILES [ 'file' ][ 'name' ]); //para usar nombre de la imagen
  6.  
  7. $nom2 = $nom[count($nom)-2]; //obtengo solo el nombre sin extension
  8. //$str = "1234567890";
  9. $sub = $idnoti; //idnoti es el id de la novedad
  10. $cad = $nom2."_".$sub;
  11.  
  12. /*for($i=0;$i<3;$i++) {
  13. $cad .= substr($str,rand(0,9),1);
  14. } */
  15. // Fin de la creacion de la cadena aletoria
  16.  
  17. $tamano = $_FILES [ 'file' ][ 'size' ]; // Leemos el tamaño del fichero
  18. $tamaño_max="300000"; // Tamaño maximo permitido
  19. if( $tamano < $tamaño_max){ // Comprobamos el tamaño  
  20. //$destino = '../imagennovedad' ; // Carpeta donde se guardara
  21. $sep=explode('image/',$_FILES['file']['type']); // Separamos image/
  22. $tipo=$sep[1]; // Optenemos el tipo de imagen que es
  23.  
  24. if($tipo == "pjpeg"){$tipo = "jpeg";}
  25. if($tipo == "x-png"){$tipo = "png";}
  26. if($tipo == "gif" || $tipo == "jpeg"|| $tipo == "png"){ // Si el tipo de imagen a subir es el mismo de los permitidos, seguimos. Puedes agregar mas tipos de imagen
  27. move_uploaded_file ( $_FILES ['file']['tmp_name'],$destino . '/' .$cad.'.'.$tipo);  // Subimos el archivo
  28.  
  29.  
  30. // creo la mini a tamaño de 175 ancho o menos si es más chica la img original
  31. include('imgchiqui.php');
  32. $imagenm= $destino . '/' .$cad.'.'.$tipo;
  33. // obtengo el ancho para definir si se achica o no
  34. $dim=getimagesize($imagenm);
  35. // $dim[0] ancho - $dim[1] altura
  36.  
  37. if ($dim[0] >= 175){thumb1($imagenm, 175, $tipo);}
  38. else{thumb1($imagenm, $dim[0], $tipo);}
  39.            
  40.  
  41.  
  42. }
  43. else echo "el tipo de archivo no es de los permitidos";// Si no es el tipo permitido lo decimos
  44. }
  45. else echo "El archivo supera el peso permitido.";// Si supera el tamaño de permitido lo decimos
  46. }
  47.  
  48.  
  49.  
  50. ?>

E imgchiqui.php es:
Código PHP:
Ver original
  1. function thumb1($imagen,$ancho,$tipo) {
  2.      // Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".
  3.      $dir_thumb = "minis/";
  4.      // Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg",
  5.      // el thumbnail se llamaría "tn_imagen1.jpg"
  6.      $prefijo_thumb = "m_";
  7.  
  8.      // Aquí tendremos el nombre de la imagen.
  9.      $nombre=basename($imagen);
  10.      // Aquí la ruta especificada para buscar la imagen.
  11.      $camino=dirname($imagen)."/";
  12.  
  13.      // Intentamos crear el directorio de thumbnails, si no existiera previamente.
  14.      if (!file_exists($camino.$dir_thumb))
  15.           @mkdir ($camino.$dir_thumb, 0777) or die("No se ha podido crear el directorio ".$camino.$dir_thumb);
  16.  
  17.      // Aquí comprobamos que la imagen que queremos crear no exista previamente
  18.      if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) {
  19.        
  20.         // echo $camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>\n";
  21.          
  22.          // si es jpeg o jpg
  23.           if($tipo == "jpg" || $tipo == "jpeg"){
  24.          
  25.           $img = @imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");
  26.        
  27.           // miramos el tamaño de la imagen original...
  28.           $datos = getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n");
  29.  
  30.           // intentamos escalar la imagen original a la medida que nos interesa
  31.           $ratio = ($datos[0] / $ancho);
  32.           $altura = round($datos[1] / $ratio);
  33.  
  34.           // esta será la nueva imagen reescalada
  35.           $thumb = imagecreatetruecolor($ancho,$altura);
  36.  
  37.           // con esta función la reescalamos
  38.           imagecopyresampled ($thumb, $img, 0, 0, 0, 0, $ancho, $altura, $datos[0], $datos[1]);
  39.  
  40.           // voilà la salvamos con el nombre y en el lugar que nos interesa.
  41.           imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre);
  42.           }
  43.        
  44.        
  45.         // si del tipo png
  46.         if($tipo == "png"){
  47.           $img = @imagecreatefrompng($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");
  48.        
  49.           // miramos el tamaño de la imagen original...
  50.           $datos = getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n");
  51.  
  52.           // intentamos escalar la imagen original a la medida que nos interesa
  53.           $ratio = ($datos[0] / $ancho);
  54.           $altura = round($datos[1] / $ratio);
  55.  
  56.           // esta será la nueva imagen reescalada
  57.           $thumb = imagecreatetruecolor($ancho,$altura);
  58.  
  59.           // con esta función la reescalamos
  60.           imagecopyresampled ($thumb, $img, 0, 0, 0, 0, $ancho, $altura, $datos[0], $datos[1]);
  61.  
  62.           // voilà la salvamos con el nombre y en el lugar que nos interesa.
  63.           imagepng($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre);
  64.           }
  65.      
  66.         // si del tipo gif
  67.         if($tipo == "gif"){
  68.           $img = @imagecreatefromgif($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");
  69.        
  70.           // miramos el tamaño de la imagen original...
  71.           $datos = getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n");
  72.  
  73.           // intentamos escalar la imagen original a la medida que nos interesa
  74.           $ratio = ($datos[0] / $ancho);
  75.           $altura = round($datos[1] / $ratio);
  76.  
  77.           // esta será la nueva imagen reescalada
  78.           $thumb = imagecreatetruecolor($ancho,$altura);
  79.  
  80.           // con esta función la reescalamos
  81.           imagecopyresampled ($thumb, $img, 0, 0, 0, 0, $ancho, $altura, $datos[0], $datos[1]);
  82.  
  83.           // voilà la salvamos con el nombre y en el lugar que nos interesa.
  84.           imagegif($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre);
  85.           }
  86.          
  87.      
  88.      
  89.      }
  90. }

No recuerdo de donde lo saque, pero fue desde este foro.
Espero que te sirva, y ante cualquier duda me consultas que trataré de ayudarte.
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #7 (permalink)  
Antiguo 28/08/2011, 19:01
Avatar de AhmedRugama  
Fecha de Ingreso: diciembre-2008
Ubicación: Nicaragua
Mensajes: 160
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Error al subir imagen

-.-

Porque no prubas haciendo un die antes del move_uplod_file es obvio que el error esta en el destino no?

$url = $destino."/".$cad.".".$tipo;
die($url);

viendo el contenido del $url podras ver en que te estas equivocando

Etiquetas: Ninguno
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 09:29.