[Php-avanzado] ruta ftp

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Mar Mayo 7 10:40:13 ART 2013


Hola Damián,

	estás empezando la ruta con / en /public_html/ con lo que le estás
diciendo que public_html están en la raíz del disco, y lo más habitual
es que esté en /home/usuario

	Lo mejor para estos casos es entrar por FTP, ver qué nombres tienen los
directorios, y luego escribir rutas relativas (no absolutas) en dónde
trabajar.

	Sin embargo, acá no hacés ningún upload ni download por FTP, con lo que
te conviene usar directamente las funciones de manejo de disco y
archivos, ya que no le estás dando ningún uso al FTP.

	Para terminar, salvo que estés usando alguna versión muy vieja de PHP,
es más simple la función scandir() que te devuelve un vector, que
trabajar con opendir() que te obliga luego a recorrer el directorio.

	Salu2!


El mar, 07-05-2013 a las 06:28 -0700, Damián Colledani escribió:
> Alguien me puede decir como saber la ruta a los archivos que debo
> descargar via ftp?
> Teoricamente estan en /public_html/ pero el directorio que consulto
> con is_dir me dice que no existe
> Mando todo el script por si acaso Gracias
> 
> 
> $nombre_usuario_ftp=$_POST["usuario"];
> $contrasenya_ftp=$_POST["clave"];
> $servidor_ftp=$_POST["servidor"];
> $id_con = ftp_connect($servidor_ftp,21) or die("No ha sido posible
> conectarse a $servidor_ftp");
> 
> 
> $carpeta="/public_html/".$_POST["carpeta"]."/";
> if (ftp_login($id_con, $nombre_usuario_ftp, $contrasenya_ftp)){
> echo "Conectado en $nombre_usuario_ftp@$servidor_ftp "; 
> 
> if (is_dir($carpeta)==true)
> { 
> echo "<br> Existe carpeta";
> $abredir=opendir($carpeta);   //abro el directorio y recorro el
> directorio buscando los archivo
> echo "<br> Abrio carpeta";
> while (false!==($nombre_archivo=readdir($abredir)))
> {
> if (($nombre_archivo !== ".") && ($nombre_archivo !== ".."))
>   //valido que no sean . ni ..
> {   
> //if($aux==$nombre_archivo)
> //{
> //return $aux;
> DescargarArchivo($nombre_archivo);
> 
> //}
> }
> }
> }else{
> echo "La Carpeta no Existe";
> }
> }
> 
> 
> function DescargarArchivo($fichero){
> 
> 
> $basefichero = basename($fichero);
> 
> 
> header( "Content-Type: application/octet-stream");
> 
> 
> header( "Content-Length: ".filesize($fichero));
> 
> 
> header( "Content-Disposition:attachment;filename=".$basefichero);
> readfile($fichero);
> }
> }
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado

-- 

Leonardo Tadei
leonardot en pegasusnet.com.ar
Pegasus Tech Supply
Tel: (+54)(+223) 471-2880
La Salle 1131 - Mar del Plata - Argentina
http://www.pegasusnet.com.ar
http://www.grupopegasus.com
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado