Hola gente, tengo una duda, toy realizando un sistema para una bodega y me piden que devuelva un archivo excel con datos, lo cual me lo genera, pero el problema es que quieren que ese archivo lo deje en una carpeta ftp del servidos de la empresa, y pregunte por en el hosting y me dijieron que no podian habilitar la funcion ftp. mi consulta es, se puede realiazr esto?ojala me ayuden k me tiene xato este sistema
Ftp con PHP
Comenzado por
andres_mustaine
, sep 21 2011 10:00
4 respuestas en este tema
#1
Escrito 21 septiembre 2011 - 10:00
#2
Escrito 22 septiembre 2011 - 12:30
Hola andres_mustaine no te desanimes, la solución es mas sencilla de lo que crees...mira fíjate que el archivo excel lo puedes generar directamente desde PHP, por ejemplo de esta forma:
http://www.cesarcanc...p-poo-n159.html
como ves el excel se genera al vuelo, entonces ahí no sería necesario ponerlo en un FTP, el usuario simplemente haciendo clic en descargar podrá bajarse el documento excel sin problemas...
Ahora si por ejemplo lo que quieren hacer es un DTS, cosa que no creo, ya tendrían que habilitar el puerto 21 para usar las funciones para socket que nos ofrece PHP...
Saludos desde Santiago de Chile....
http://www.cesarcanc...p-poo-n159.html
como ves el excel se genera al vuelo, entonces ahí no sería necesario ponerlo en un FTP, el usuario simplemente haciendo clic en descargar podrá bajarse el documento excel sin problemas...
Ahora si por ejemplo lo que quieren hacer es un DTS, cosa que no creo, ya tendrían que habilitar el puerto 21 para usar las funciones para socket que nos ofrece PHP...
Saludos desde Santiago de Chile....
#3
Escrito 22 septiembre 2011 - 11:19
gracias master , pero lo que realmente deseo, es que al presionar el boton generar archivo, este se guarde en el ftp de la empresa, internamente, y arroje un mensaje de ok, hasta el momento lo estoy enviando por correo, pero quiero saber si realmente se puede hacer, y con que funciones, para seguir buscando gracias por la ayuda
#4
Escrito 27 septiembre 2011 - 05:52
$ftp_server = "xxx.xxx.xxx.xxx";
$ftp_user_name = "usuario";
$ftp_user_pass = "passw";
$destination_file = "./carpeta/".$archivo;
$source_file = "$archivo";
// conexión
$conn_id = ftp_connect($ftp_server);
// logeo
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// conexión
if ((!$conn_id) || (!$login_result)) {
echo "Conexión al FTP con errores!";
echo "Intentando conectar a $ftp_server for user $ftp_user_name";
exit;
} else {
echo "Conectado a $ftp_server, a $ftp_user_name";
}
// archivo a copiar/subir
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_ASCII);
// estado de subida/copiado
if (!$upload) {
echo "Error al subir el archivo!".$destination_file;
echo"--".$archivo;
} else {
echo "Archivo $source_file se ha subido exitosamente a $ftp_server en $destination_file";
}
// cerramos
ftp_close($conn_id);
BUUENO GENTE DEJO LA SOLUCION QUE BUSCABA POR SI A ALGUIEN LE SIRVE.
#5
Escrito 27 septiembre 2011 - 10:21
Amigo, nos alegra que hayas solucionado tu problema, y muchas gracias por compartir tu solución.
Saludos
Saludos