Foros del Web » Programando para Internet » PHP »

Envio de archivo al servidor

Estas en el tema de Envio de archivo al servidor en el foro de PHP en Foros del Web. Buenas, Dos preguntitas: Primera: Estoy implementando un sistema por el cual cada usuario pueda enviar archivos al servidor. Para tal fin tengo un directorio (upload) ...
  #1 (permalink)  
Antiguo 05/03/2010, 04:54
 
Fecha de Ingreso: abril-2009
Mensajes: 30
Antigüedad: 15 años, 8 meses
Puntos: 0
Envio de archivo al servidor

Buenas,

Dos preguntitas:

Primera:

Estoy implementando un sistema por el cual cada usuario pueda enviar archivos al servidor. Para tal fin tengo un directorio (upload) creado con cmod 0777 y cada usuario tiene su carpeta personal tambien con privilegios 0777.

Cuando un usuario envia un formulario con archivo adjunto salen los errores:

Warning: mkdir() [function.mkdir]: Permission denied in /home/...ruta.../archivo_que_hace_la_operacion.php on line...

Warning: move_uploaded_file(/home/...ruta.../upload/usuario/archivo_a_subir.pdf) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/...ruta.../archivo_que_hace_la_operacion.php on line ...

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php2UCpun' to '/home/...ruta.../upload/usuario/archivo_a_subir.pdf' in /home/...ruta.../archivo_que_hace_la_operacion.php on line ...

La explicacion podria estar en el phpinfo.php del servidor, donde el safe_mode deberia estar en off tanto para local como para master. Lo que pasa es que si toco esto, me afectara a todos los archivos del portal, y eso tampoco me interesa. Es asi o me equivoco? que riesgos puedo tener?

Personalmente pensaba que con el 777 del CMOD del directorio era suficiente.

Como podria solucionarlo?

Segunda preguntita (y creo que mas facil):

Como podria limitar los tipos de archivo (jpg, gif, pdf,...) y los tamaños? Se que se hace por phpinfo.php o por php.ini, pero no se como.

Saludos a todos!!!
  #2 (permalink)  
Antiguo 05/03/2010, 04:59
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 10 meses
Puntos: 29
Respuesta: Envio de archivo al servidor

el comando es chmod , no cmod.
Tienes que crear un directoriopara cada archivo subido?
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 05/03/2010, 05:09
 
Fecha de Ingreso: abril-2009
Mensajes: 30
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Envio de archivo al servidor

No, tengo un directorio para cada usuario y un subdirectorio para cada tema dentro del usuario.
  #4 (permalink)  
Antiguo 05/03/2010, 06:26
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 10 meses
Puntos: 29
Respuesta: Envio de archivo al servidor

Pues la solución es darle permisos a toda la carpeta upload, crear el directorio, subir el fichero, restaurar los permisos de upload.

Saludos.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 07/03/2010, 03:08
 
Fecha de Ingreso: abril-2009
Mensajes: 30
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Envio de archivo al servidor

Al final el asunto ha funcionado haciendo un update del servidor. Vaya tonteria!!

Efectivamente, el php.ini y phpinfo.php estaban bien, asi como las carpetas y subcarpetas, que estaban en 777. El asunto es que por alguna mistariosa razon el servidor hizo una actualizacion del sistema y quizas yo tambien deberia haberla hecho.

Para los usuarios del foro, dejo escrito que, para tal finalidad, el phpinfo() del servidor debe estar con el safe_mode off tanto para el Local Value como para el Master Value. Tambien debe vigilarse la memory_limit para el tamaño de los archivos (en mi caso 8M). Y por supuesto las carpetas y subcarpetas donde van los archivos deben tener permisos 777.

Finalmente, no hagais como yo, y tened el servidor actualizado antes de romperos la cabeza horas y horas como he hecho yo.

Gracias por todo, y hasta pronto!!

Etiquetas: adjuntos, mkdir(), privilegios, servidores
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 14:21.