Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No me acaba de funcionar el ftp_put()

Estas en el tema de No me acaba de funcionar el ftp_put() en el foro de PHP en Foros del Web. Buenas, llevo un rato liao intentando conseguir una aplicación para subir archivos a un servidor mediante las funciones ftp de PHP. A la hora de ...
  #1 (permalink)  
Antiguo 19/03/2014, 01:54
 
Fecha de Ingreso: mayo-2013
Mensajes: 7
Antigüedad: 10 años, 11 meses
Puntos: 0
No me acaba de funcionar el ftp_put()

Buenas, llevo un rato liao intentando conseguir una aplicación para subir archivos a un servidor mediante las funciones ftp de PHP.
A la hora de utilizar ftp_server y ftp_connect no hay problema...se conecta y se logea perfectamente... pero a la hora de usar ftp_put() no consigo que copie el archivo en la carpeta indicada. Os dejo el código que estoy usando:

-----PROGRAMA QUE RECOGE LA INFO DEL FORMULARIO:
if (isset($_POST['submit'])){
$carpeta=$_POST['directorios'];
$nombreTempArchivo=$_FILES['archivo']['tmp_name'];
$nombreArchivo=$_FILES['archivo']['name'];
$size=$_FILES['archivo']['size'];
$maxSize=$_POST['MAX_FILE_SIZE'];
subirArchivo($carpeta,$nombreArchivo,$nombreTempAr chivo,$size,$maxSize);
}

-----FUNCION QUE RECOGE NOMBRE DE ARCHIVO Y CARPETA PARA SUBIRLO:
function subirArchivo($c,$na,$nta,$s,$ms){
$ftp_server='SERVIDOR';
$cone=ftp_connect($ftp_server,21,600)or die ('no se ha podido conectar');
$user='USER';
$pass='PASS';
$log=ftp_login($cone,$user,$pass)or die ('no se ha podido logear');
ftp_pasv($cone, true);
ftp_chdir($cone,'/public_html/UBICACION/'.$c);
if(!$cone || !$log){
echo 'no se ha podidio conectar';
}else echo "Conectado a $ftp_server como $user<br/>";

$upload=ftp_put($cone,$nta,$na,FTP_BINARY);
if ($upload) {
echo "Archivo subido con éxito $na\n";
exit;
} else {
echo "No se ha podido cargar $na\n";
exit;
}
// close the connection
ftp_close($cone);
}

Si intento subir el archivo con FileZilla no hay ningún problema, pero mediante la aplicación siempre me sale el mensaje de que no se ha podido cargar el archivo, y al comprobarlo en el servidor efectivamente no hay nada cargado. Agradecería que alguien me arroje un poco de luz al respecto. Gracias!
  #2 (permalink)  
Antiguo 19/03/2014, 03:31
 
Fecha de Ingreso: mayo-2013
Mensajes: 7
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: No me acaba de funcionar el ftp_put()

Ok ya está solucionado, he cambiado la función que subia el archivo... Básicamente lo que hice fue pasarle a la función 'ftp_put()' el nombre del archivo ANTES del nombre temporal:

-----FUNCION QUE RECOGE NOMBRE DE ARCHIVO Y CARPETA PARA SUBIRLO:
function subirArchivo($c,$na,$nta,$s,$ms){
$ftp_server='SERVIDOR';
$cone=ftp_connect($ftp_server,21,600)or die ('no se ha podido conectar');
$user='USER';
$pass='PASS';
$log=ftp_login($cone,$user,$pass)or die ('no se ha podido logear');
ftp_pasv($cone, true);
if(!$cone || !$log){
echo 'no se ha podidio conectar';
}else echo "Conectado a $ftp_server como $user<br/>";

$upload=ftp_put($cone,'/public_html/UBICACION/'.$c.'/'.$na,$nta,FTP_BINARY);
if ($upload) {
echo "Archivo subido con éxito $na\n";
exit;
} else {
echo "No se ha podido cargar $na\n";
exit;
}
// close the connection
ftp_close($cone);
}

Etiquetas: Ninguno
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 10:31.