Foros del Web » Programando para Internet » PHP »

urgente necesito ayuda ftp......

Estas en el tema de urgente necesito ayuda ftp...... en el foro de PHP en Foros del Web. buenas a todos, necesitaria de vuesta colaboracion tengo que terminar un proyecto pero me he atascado en este codigo,,, resulta que tengo unformulario donde adjunto ...
  #1 (permalink)  
Antiguo 18/10/2005, 02:11
Avatar de hadesinfer  
Fecha de Ingreso: mayo-2005
Mensajes: 43
Antigüedad: 18 años, 11 meses
Puntos: 0
urgente necesito ayuda ftp......

buenas a todos, necesitaria de vuesta colaboracion tengo que terminar un proyecto pero me he atascado en este codigo,,, resulta que tengo unformulario donde adjunto un fichero pdf y lo que hago es subirlo al servidor pero no me funciona me salta los errores :

Unable to create '/web/cometico.pdf': No such file or directory

o bien me indica que no tengo permiso....

este es el codigo, sabeis que hago mal o si existe otra forma de hacerlo el error me lo da en la linea del if ....

<?php
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "/web/".$nombre_archivo)){
echo "<h3>El archivo ha sido cargado correctamente.</h3>";
}else{
echo "<h3>Ocurrió algún error al subir el fichero. No pudo guardarse.</h3>";
}
?>
  #2 (permalink)  
Antiguo 18/10/2005, 03:52
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Comprueba los permisos que tengas sobre ese directorio (web). Yo tuve un problema a la hora de crear ficheros desde php y cambiando los permisos de la carpeta solucioné el problema. Suerte
  #3 (permalink)  
Antiguo 18/10/2005, 06:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No sé por qué hablas de "FTP" .. el archivo lo estás subiendo a tu servidor por HTTP no por FTP ..

Usa el array $_FILES no $HTTP_POST_FILES ...

Si tu dices "/web/" estás asumiendo que ese directorio de existir desde el raiz de ese servidor (usas Linux o Windows?) ...

Debese indicar la ruta absoluta completa (no sé .. tal vez: /var/sitios/sitio.com/public_html/web/ ... o algo así ..) Esa ruta absoluta la puedes obtener con: $_SERVER['DOCUMENT_ROOT']

También puedes usar rutas relativas tipo:
./web/ (sería un directorio bajo el que estas llamado "web" ..
o
../web/ (si está arriba ..)

A todo esto, .. tiene que tener permisos de escritura dicho directorio para todo usuario (CMOD en 0677 o similar)

Un saludo,

Un saludo,
  #4 (permalink)  
Antiguo 18/10/2005, 09:08
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 1
Aprovecho este topic porque tengo un problema similiar... hice un upload de archivos que funciona correctamente, pero cuando quiero modificar ese código para que me suba los archivos a una carpeta determinada me tira error. Por ejemplo quiero subir los archivos a la carpeta fotos(posee los permisos de escritura correspondientes y se encuentra en el raíz del sitio)

if (move_uploaded_file($_FILES['userfile']['tmp_name'], "/fotos/"$nombre_archivo)){

Sin embargo me tira error en esa linea... Alguien me puede ayudar? Gracias
  #5 (permalink)  
Antiguo 18/10/2005, 10:07
Avatar de TortugaChat  
Fecha de Ingreso: julio-2004
Ubicación: Coatzacoalcos, Veracruz, México.
Mensajes: 150
Antigüedad: 19 años, 8 meses
Puntos: 0
Prueben así:

Código PHP:
move_uploaded_file($_FILES['alumnofoto']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/imagenes/fotosalumnos/'.$_FILES['alumnofoto']['name']) 
Por cierto, si no funciona con "move" prueben con "copy" yo tenía un problema que solucione al cambiar a "copy".

Saludos.
  #6 (permalink)  
Antiguo 18/10/2005, 11:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
chan

Aprovecho este topic porque tengo un problema similiar... hice un upload de archivos que funciona correctamente, pero cuando quiero modificar ese código para que me suba los archivos a una carpeta determinada me tira error. Por ejemplo quiero subir los archivos a la carpeta fotos(posee los permisos de escritura correspondientes y se encuentra en el raíz del sitio)

if (move_uploaded_file($_FILES['userfile']['tmp_name'], "/fotos/"$nombre_archivo)){

Sin embargo me tira error en esa linea... Alguien me puede ayudar? Gracias

No puedes decir "me tira un error" si quieres que veamos el problema .. Adjunta (pega) el código del error que tienes.

Por lo demás .. ¿donde está tu directorio "fotos"? de donde cuelga? .. seguro que es del "raiz" de ese servidor (dices: /fotos/) ..

Si lo tienes bajo el script que ejecutas ..
fotos/
script.php

usa el "." o ni eso para referenciarte a ese directorio (desde donde estamos)

Código PHP:
if (move_uploaded_file($_FILES['userfile']['tmp_name'], "./fotos/"$nombre_archivo)){ 
Un saludo,
  #7 (permalink)  
Antiguo 18/10/2005, 11:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por TortugaChat
Prueben así:

Código PHP:
move_uploaded_file($_FILES['alumnofoto']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/imagenes/fotosalumnos/'.$_FILES['alumnofoto']['name']) 
Por cierto, si no funciona con "move" prueben con "copy" yo tenía un problema que solucione al cambiar a "copy".

Saludos.
Justamente "move_uploaded_file()" existe para evitar los problemas de acceso a archivos fuera de lo que define "open_base_dir" y otras directivas (safe mode entre otras) de configuración de PHP que restringen a PHP para acceder al directorio temporal donde almacena lor archivos que suben por HTTP hasta que se decide que hacer con ellos ...

El tema está en tomar correctamente la ruta absoluta donde está ese directorio donde mueves tus archivos .. La ruta absoluta la pueden obtener con DOCUMENT_ROOT .. pero si no es accesible .. pueden usar rutas relativas (./ ../ .. etc )

La ruta "absoluta" de un archivo en el servidor .. NO es lo que vemos como "raiz" cuando uno entra por FTP a ver sus archivos .. ahí uno está bajo una estructura más compleja de directorios de ese servidor. Por eso .. si hacen referencia a "/fotos/" .. se refieren al "raiz" de ese servidor .. y NO es ahí donde está el directorio que hacen refencia.

Un saludo,
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:50.