Foros del Web » Programando para Internet » PHP »

en un Upload me da un mensaje y ni idea, un cable por favor

Estas en el tema de en un Upload me da un mensaje y ni idea, un cable por favor en el foro de PHP en Foros del Web. Hola tengo en siguiente tema con un Upload de mi página, que cuando quiero subir un archivo me da el siguiente mensaje Warning: move_uploaded_file(s.jpg): failed ...
  #1 (permalink)  
Antiguo 29/12/2005, 11:48
Avatar de shamuray  
Fecha de Ingreso: agosto-2004
Ubicación: Capital Federal, Argentina
Mensajes: 142
Antigüedad: 19 años, 8 meses
Puntos: 0
en un Upload me da un mensaje y ni idea, un cable por favor

Hola tengo en siguiente tema con un Upload de mi página, que cuando quiero subir un archivo me da el siguiente mensaje

Warning: move_uploaded_file(s.jpg): failed to open stream: Permission denied in /home/sinfront/public_html/upload.php on line 4

Warning: move_uploaded_file(): Unable to move '/tmp/phpzLUiew' to 's.jpg' in /home/sinfront/public_html/upload.php on line 4

el código del mismo lo adjunto Aquí

Cómo recién empiezo con todo esto no tengo ni idea de que permisos me pise eso si le cambie las propiedades de 644 a 777

Gacias de antemano

"Salu2"
__________________
:pirata: •´¯¥¯•Ð€MØNiØ•´¯¥¯• :pirata:
  #2 (permalink)  
Antiguo 29/12/2005, 14:30
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Lo que estas haciendo es mover un archivo temporal (que lo crea php en /tmp) al mismo directorio (/tmp) pero con otro nombre, pero no tienes permisos de escritura en /tmp.
Por tanto, crea un directorio en otro lugar, di que apache (el usuario de apache, generalmente nobody) es el dueño del directorio (chown nobody /ruta/directorio) y luego modifica tu codigo asi:

if(move_uploaded_file($_FILES['fichero']['tmp_name'], "/ruta/directorio/".$_FILES['fichero']['name']))
  #3 (permalink)  
Antiguo 29/12/2005, 17:01
Avatar de shamuray  
Fecha de Ingreso: agosto-2004
Ubicación: Capital Federal, Argentina
Mensajes: 142
Antigüedad: 19 años, 8 meses
Puntos: 0
A ver, tengo un gran problema por que ni idea de donde sacar esto datos qeu me dio claudiovega...
(el usuario de apache, generalmente nobody) es el dueño del directorio (chown nobody /ruta/directorio)
yo tengouna carpeta que se llama uploadDir esta reemplazaría /ruta/directorio?

if(move_uploaded_file($_FILES['fichero']['tmp_name'], "/uploadDir/".$_FILES['fichero']['name']))

lo hice de esta manera pero sigue dandome el mismo mensaje...

Warning: move_uploaded_file(/uploadDir/0096511.jpg): failed to open stream: No such file or directory in /home/sinfront/public_html/upload.php on line 4

Warning: move_uploaded_file(): Unable to move '/tmp/php5yv19u' to '/uploadDir/0096511.jpg' in /home/sinfront/public_html/upload.php on line 4

que es lo que estoy haciendo mal...

Gracias
"Salu2"
__________________
:pirata: •´¯¥¯•Ð€MØNiØ•´¯¥¯• :pirata:
  #4 (permalink)  
Antiguo 30/12/2005, 06:56
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Debes colocar la ruta correcta hacia uploadDir, la ruta se especifica tomando como raiz la raiz del sistema (/), y sobre ese directorio debe tener permisos de escritura o ser dueño, el usuario que corre el proceso apache. Si te fijas dentro del archivo httpd.conf encontrarás que usuario es el dueño del proceso apache.
  #5 (permalink)  
Antiguo 30/12/2005, 07:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
"/uploadDir/".$_FILES['fichero']['name']))

No puedes usar esa ruta con / al principio . .así te refires a un supuesto directorio creado con ese nombre y permisos de escritura en el "raiz" de ese servidor ..

Tu sitio y tus scritps se ejecutan en ese servidor "virual" desde la ruta completa:
/home/sinfront/public_html/
(el mensaje de error justamente lo informa).

En resumen .. si tu por "FTP" (al entrar por ..) haces una referencia a / "crees" estar en el "raiz" de ese servidor .. pero no es así .. Lo que sucede es que al entrar con tu "cuenta" por FTP a ese servidor eres redireccionado directamente a ese sitio que es donde desde ahí y hacia abajo tienes control total tu sólo, no más "arriba".

Por ende . .deberías indicar:

Código PHP:
if(move_uploaded_file($_FILES['fichero']['tmp_name'], "/home/sinfront/public_html/uploadDir/".$_FILES['fichero']['name'])) 
Y que ese directorio "uploadDir" tenga permisos de escritura suficientes, eso lo haces vía tu cliente de FTP que uses usando la funcionalidad "CHMOD" dejandolo a 0677 o superior.

Un saludo,
  #6 (permalink)  
Antiguo 30/12/2005, 09:44
Avatar de shamuray  
Fecha de Ingreso: agosto-2004
Ubicación: Capital Federal, Argentina
Mensajes: 142
Antigüedad: 19 años, 8 meses
Puntos: 0
Gracias por la explicación, listo ya está, me funsionó y ya puedo subir lo archivos, muchas gracias.
__________________
:pirata: •´¯¥¯•Ð€MØNiØ•´¯¥¯• :pirata:
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 08:09.