[Php-avanzado] ruta ftp

Damián Colledani damian_colledani en yahoo.com
Mar Mayo 7 16:13:09 ART 2013


Si, entendí ahora lo modifique pero me tira errores en chmod me dice que no existe directorio, sin embargo me muestra los archivos que quiero bajar cuando me tira el error de ftp_get()ahi va$dir_local= mkdir("c:/fotos_".date('d-m-Y'),0777);	$dir=$_POST['carpeta'];	$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");	ftp_login($id_con,$nombre_usuario_ftp,$contrasenya_ftp); //Se loguea al Servidor FTP	ftp_pasv($id_con,MODO); //Establece el modo de conexión	$newdir = "/public_html/".$dir."/";	chmod($newdir,777);	$list = ftp_nlist($id_con, $newdir);	$cant=count($list);		for($i=0;$i<$cant;$i++ ){				$file = ftp_get($id_con, $dir_local."/".$list[$i], $newdir.$list[$i], FTP_BINARY);	}	if ($cant == 0){		echo "El directorio no existe en el servidor";	}///el error es Warning: chmod() [function.chmod]: No such
 file or directory in C:\wamp\www\vortex\formulario-descarga-archivos.php on line 49

Warning: ftp_get() [function.ftp-get]: I can only retrieve regular files in C:\wamp\www\vortex\formulario-descarga-archivos.php on line 55

Warning: ftp_get(1/..) [function.ftp-get]: failed to open stream: Permission denied in C:\wamp\www\vortex\formulario-descarga-archivos.php on line 55

Warning: ftp_get() [function.ftp-get]: Error opening 1/.. in C:\wamp\www\vortex\formulario-descarga-archivos.php on line 55

Warning: ftp_get(1/Foto0522.jpg) [function.ftp-get]: failed to open stream: No such file or directory in C:\wamp\www\vortex\formulario-descarga-archivos.phpon line 55
etc por cada archivoAgradezco la ayuda
--- El mar 7-may-13, Leonardo Tadei - Pegasus Tech Supply <leonardot en pegasusnet.com.ar> escribió:

De: Leonardo Tadei - Pegasus Tech Supply <leonardot en pegasusnet.com.ar>
Asunto: Re: [Php-avanzado] ruta ftp
Para: "Lista del curso de PHP Avanzado" <php-avanzado en pato2.fi.mdp.edu.ar>
Fecha: martes, 7 de mayo de 2013, 14:40

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

_______________________________________________
Php-avanzado mailing list
Php-avanzado en pato2.fi.mdp.edu.ar
http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20130507/59a53e8a/attachment-0001.html>


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