Autor Tema: Problemas al subir archivos con php (SOLUCIONADO)  (Leído 9386 veces)

Desconectado DocBrown

  • Member
  • ***
  • Mensajes: 148
    • La gaviota asesina
Problemas al subir archivos con php (SOLUCIONADO)
« en: 04 de Diciembre de 2006, 10:54:08 pm »
Buenas, estoy volviéndome loco con un script para subir archivos a un servidor con un formulario. Tengo los permisos de las carpetas pertinentes en 777 pero el is_uploaded_file() me devuelve false y no tira. Este mismo script lo usé en diferentes sitios sin ningún problema y no sé qué hacer, la verdad. ¿alguna idea?

Desconectado Liamngls

  • Administrator
  • ******
  • Mensajes: 15688
    • Manuales-e
Re: Problemas al subir archivos con php
« Respuesta #1 en: 05 de Diciembre de 2006, 01:00:55 am »
Solo se me ocurre que pegues el código completo y a ver si alguien encuentra algún error o algo :)

Desconectado DocBrown

  • Member
  • ***
  • Mensajes: 148
    • La gaviota asesina
Re: Problemas al subir archivos con php
« Respuesta #2 en: 05 de Diciembre de 2006, 09:27:08 am »
Ahí va:
Código: [Seleccionar]
//nombre aleatorio para la foto
$caracteres="abcdefghijklmnopqrstuvwxyxABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
$NumCaracteres=strlen($caracteres);
$nombreFoto="";
for($i=0;$i<10;$i++){
$num=rand(0,$NumCaracteres-1);
$nombreFoto.=$caracteres[$num];
}

  $referencia=$_POST["referencia"];


//proceso de imágenes

$foto=$_FILES["foto"]["name"];
$ruta_foto="imagenes/".$foto;
$temporal=$_FILES["foto"]["tmp_name"];

  if(is_uploaded_file($temporal)){
switch($_FILES["foto"]["type"]){
case "image/jpeg":
case "image/pjpeg":
move_uploaded_file($temporal,$ruta_foto);
$imagen=imagecreatefromjpeg($ruta_foto);
//chmod($ruta_foto,0777);
$original_x=imagesx($imagen);
$original_y=imagesy($imagen);

if($original_x>1024 || $original_y>1024){
$final_x=1024;
$final_y=round(($original_y * $final_x) / $original_x);
}else{
$final_x=$original_x;
$final_y=$original_y;
}

$final=imagecreatetruecolor($final_x,$final_y);
imagecopyresampled($final, $imagen, 0, 0, 0, 0, $final_x, $final_y, $original_x, $original_y);
imagejpeg($final,$ruta_foto);

break;

default: echo "No se va a procesar la foto. Debe estar en formato JPEG. ";
}
  }else{
  echo "Error al subir la foto.";
exit();
  }

La creación aleatoria del nombre la hace correctamente, y he comprobado que en el formulario de envío los nombres de los input son correctos. El problema me viene en el if, que no lo cumple. No sé, es una cosa muy rara porque en la misma carpeta del mismo servidor hace unos días funcionaba y he recomprobado los permisos 17000 veces. ¿Será de la configuración del servidor?

Desconectado Gepetto

  • Iniciado
  • *****
  • Mensajes: 1129
Re: Problemas al subir archivos con php
« Respuesta #3 en: 06 de Diciembre de 2006, 12:04:57 am »
El script así al primer vistazo lo veo bien... ¿No será un problema de las librerías GD?

Desconectado DocBrown

  • Member
  • ***
  • Mensajes: 148
    • La gaviota asesina
Re: Problemas al subir archivos con php
« Respuesta #4 en: 06 de Diciembre de 2006, 02:21:24 am »
Las librerías GD son para el manejo de imágenes no? Si es así no es ese el problema. Directamente no cumple la condición del if y salta al else. Estoy que no sé qué hacer. ¿Puede ser alguna configuración de servidor que no permita la subida de archivos por formulario?

Desconectado Gepetto

  • Iniciado
  • *****
  • Mensajes: 1129
Re: Problemas al subir archivos con php
« Respuesta #5 en: 06 de Diciembre de 2006, 08:42:23 am »
Comprueba que esté file_uploads=On en el fichero de configuración php.ini

Desconectado DocBrown

  • Member
  • ***
  • Mensajes: 148
    • La gaviota asesina
Re: Problemas al subir archivos con php
« Respuesta #6 en: 06 de Diciembre de 2006, 02:05:23 pm »
Pues sí, está en On. Ya no sé si cortarme las venas o dejármelas largas :cry:

Desconectado Gepetto

  • Iniciado
  • *****
  • Mensajes: 1129
Re: Problemas al subir archivos con php
« Respuesta #7 en: 06 de Diciembre de 2006, 04:59:33 pm »
Asegurate de que el fichero que quieres subir no supere el tamaño establecido en el campo "hidden" del formulario, ni el de la línea "upload_max_filesize" en el php.ini

Desconectado Gepetto

  • Iniciado
  • *****
  • Mensajes: 1129
Re: Problemas al subir archivos con php
« Respuesta #8 en: 06 de Diciembre de 2006, 05:15:11 pm »
Y un par de cosas más:

-Prueba descomentando esta línea del script -> //chmod($ruta_foto,0777);
-Echa un vistazo a este otro script, para ver si dispones de las librerías GD (y si es así, revisa que sean la versión 2).

Desconectado DocBrown

  • Member
  • ***
  • Mensajes: 148
    • La gaviota asesina
Re: Problemas al subir archivos con php
« Respuesta #9 en: 06 de Diciembre de 2006, 06:01:48 pm »
el upload_max_filesize está en 10M y estoy probando con unas pocas KB, las librerías GD están activadas (2.0.28) y el chmod lo comenté y descomenté varias veces. De cualquier forma, el tema de las librerías me daría errores en el proceso de las imágenes, pero no llega ahí, me da el mensaje que pongo en el else, es decir que no me cumple el "is_uploaded_file", con lo que está descartado el tema de librerías GD

 

Aviso Legal | Política de Privacidad | Política de Cookies

el contenido de la web se rige bajo licencia
Creative Commons License