Foros del Web » Programando para Internet » PHP »

Problemas con funcion move_uploaded_file

Estas en el tema de Problemas con funcion move_uploaded_file en el foro de PHP en Foros del Web. Hola tengo un problema con la funcion move_uploaded_file,aunque la he utilizado otras veces y ha funcionado,esta vez tengo problemas,cuando quiero coger un archivo de mi ...
  #1 (permalink)  
Antiguo 07/02/2011, 03:53
 
Fecha de Ingreso: septiembre-2010
Mensajes: 43
Antigüedad: 14 años, 2 meses
Puntos: 0
Busqueda Problemas con funcion move_uploaded_file

Hola tengo un problema con la funcion move_uploaded_file,aunque la he utilizado otras veces y ha funcionado,esta vez tengo problemas,cuando quiero coger un archivo de mi pc y subirlo al servidor (tambien en mi pc,por lo tanto es un servidor local por el momento) me crea archivos vacios,con un tamaño de archivo de 0 bytes..
El codigo php es este:
$rutafoto= "fotos/mifoto.jpg"
Cita:
if (is_uploaded_file($_FILES['file']['tmp_name'])) {
if (move_uploaded_file($_FILES['file']['tmp_name'],$rutafoto)) {
echo "El tamaño del archivo a subir es: "$_FILES['file']['size'].;
echo "<br />La ruta del fichero origen es: ".$_FILES['file']['tmp_name']."<br />";
echo "<br />La ruta del fichero de destino es: ".$rutafoto."<br />";
echo "<br />El archivo se ha movido correctamente <br />";
} else {
echo "<br />El archivo no se ha movido";
};
Pues bien,todo lo imprime bien,se supone que move_uploaded_file se ejecuta,y de hecho crea un archivo,pero el archivo,está vacio..
En cambio el array $_FILES['file']['size'] contiene un tamaño muy superior a 0 bytes: 32680
Segun he mirado en foros, y demás,puede ser el archivo de configuracion de php.ini,pero creo que todo esta correctamente,copio la parte que creo que puede tener que ver,ya que este foro tiene un limite de caracteres que supera,aqui va:
Cita:
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30

; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time = 60
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
upload_tmp_dir = /media/Datos/www/paginaweb

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 70M

; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
Aunque no entiendo las dos opciones primeras que estan en negrita,he leido que puede tener que ver..
He resaltado con negrita las opciones que creo que pueden tener que ver con la configuración,pero yo creo que está bien configurado,pero ya dudo..estoy cansado de hacer pruebas y que no funciones :(
¿Se os ocurre que puede estar pasando?
Gracias
  #2 (permalink)  
Antiguo 07/02/2011, 08:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Problemas con funcion move_uploaded_file

Te falta declarar post_max_size y más tiempo a max_execution_time.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 07/02/2011, 08:41
 
Fecha de Ingreso: septiembre-2010
Mensajes: 43
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problemas con funcion move_uploaded_file

Cita:
Iniciado por abimaelrc Ver Mensaje
Te falta declarar post_max_size y más tiempo a max_execution_time.
Gracias por el post_max_size lo tenia ya declarado, pero se me ha olvidado postearlo y el max_execution_time lo he subido,pero no ha funcionado,no sé si tendré que subirlo,así es como ha quedado:

Cita:
max_execution_time = 530
post_max_size = 70M
Ya no sé que más probar...
  #4 (permalink)  
Antiguo 07/02/2011, 08:50
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Problemas con funcion move_uploaded_file

¿Cómo hiciste el formulario y el código de PHP?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 07/02/2011, 08:57
 
Fecha de Ingreso: septiembre-2010
Mensajes: 43
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problemas con funcion move_uploaded_file

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Cómo hiciste el formulario y el código de PHP?
El codigo PHP lo puse arriba:
Cita:
if (is_uploaded_file($_FILES['file']['tmp_name'])) {
if (move_uploaded_file($_FILES['file']['tmp_name'],$rutafoto)) {
echo "El tamaño del archivo a subir es: "$_FILES['file']['size'].;
echo "<br />La ruta del fichero origen es: ".$_FILES['file']['tmp_name']."<br />";
echo "<br />La ruta del fichero de destino es: ".$rutafoto."<br />";
echo "<br />El archivo se ha movido correctamente <br />";
} else {
echo "<br />El archivo no se ha movido";
};
Y el formulario:
Cita:
<form id='uploadimageform' action='uploadingphotos.php' method='POST' enctype='multipart/form-data'>
<input type='hidden' name='MAX_FILE_SIZE' value=954000 />
<input type='file' name='file' value='Seleccionar' id='file' /><br />
<input type='submit' name='buttonsendimage' value='Subir foto' />
</form>
  #6 (permalink)  
Antiguo 07/02/2011, 09:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Problemas con funcion move_uploaded_file

Usa $_FILES['file']['error'] para ver si te muestra algún error. Lo otro yo no uso MAX_FILE_SIZE. Trata de verificar todo con PHP. Acuérdate que todo cambio en el php.ini requiere de reiniciar apache.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 07/02/2011, 10:54
 
Fecha de Ingreso: mayo-2010
Mensajes: 38
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problemas con funcion move_uploaded_file

podrìas usar directamente el

move_uploaded_file($_FILES['file']['tmp_name'],$rutafoto)

sin el is_uploaded_file($_FILES['file']['tmp_name'])

o viceversa segun la necesidad...
  #8 (permalink)  
Antiguo 07/02/2011, 11:16
 
Fecha de Ingreso: septiembre-2010
Mensajes: 43
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problemas con funcion move_uploaded_file

Cita:
Iniciado por chepelucho Ver Mensaje
podrìas usar directamente el

move_uploaded_file($_FILES['file']['tmp_name'],$rutafoto)

sin el is_uploaded_file($_FILES['file']['tmp_name'])

o viceversa segun la necesidad...
Gracias pero hay una cosa muy rara que ocurre,y es que :
Cita:
move_uploaded_file($_FILES['file']['tmp_name'],$rutafoto)
no funciona,pero si hago:
Cita:
move_uploaded_file($_FILES['file']['tmp_name'], "fotos/aaaaaaa.jpg")
sí funciona!
No lo entiendo,porque incluso una linea antes pongo un
Cita:
echo $rutafoto;
y me aparece la misma URL,pero de esta forma no funciona!
Incluso hago un
Cita:
echo gettype($rutafoto);
y sale tipo string,por lo que tendría que funcionar..
No lo entiendo :(
  #9 (permalink)  
Antiguo 08/02/2011, 20:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 38
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problemas con funcion move_uploaded_file

fijate que el archivo sea o no de solo lectura...
bueno, no recuerdo como es el formato...pero el segundo argumento creo que es de escritura...
  #10 (permalink)  
Antiguo 08/02/2011, 20:32
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 14 años
Puntos: 51
Respuesta: Problemas con funcion move_uploaded_file

Usa el path completo para pasarlo como parámetro ($rutafoto), es obvio que ahí está el problema por lo que decís.

Etiquetas: move_uploaded_file, php.ini
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:14.