[Php-avanzado] ruta ftp
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mar Mayo 7 23:57:35 ART 2013
Traduzco: te dice que los directorios . y .. no son archivos
convencionales y no se pueden bajar
PD: no se pone en el directorio que querés, porque no existe ese
directorio, porque nunca lo creás.
El mar, 07-05-2013 a las 19:39 -0700, Damián Colledani escribió:
> Bien. Corregí y me descarga las fotos en el directorio donde tengo el
> script, no donde le digo, además me tira estos errores y no entiendo
> Warning: ftp_get() [function.ftp-get]: I can only retrieve regular
> files in C:\wamp\www\vortex\formulario-descarga-archivos.php on
> line 54
>
> Warning: ftp_get() [function.ftp-get]: Can't
> open /public_html/galeria/..: Operation not permitted in C:\wamp\www
> \vortex\formulario-descarga-archivos.php on line54
> Me traducís?
> Gracias
> --- 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, 22:44
>
> Hola Damián,
>
> pero ese es justamente el error de concepto que te decía:
> no se puede
> hacer chmod() a un directorio remoto. Esta función solo
> funciona en un
> archivo o directorio local.
>
>
>
> El mar, 07-05-2013 a las 13:26 -0700, Damián Colledani
> escribió:
> > perdon por el mal uso de variables, lo del cambio de
> permisos es
> > porque es un directorio remoto y no me deja hacer la
> descarga
> > igualmente me pone el error
> > Warning: chmod() [function.chmod]: No such file or directory
> in C:
> > \wamp\www\vortex\formulario-descarga-archivos.php on line 4
> >
> >
> > y con el get me devuelve
> > Warning: ftp_get() [function.ftp-get]: I can only retrieve
> regular
> > files in C:\wamp\www\vortex\formulario-descarga-archivos.php
> on
> > line 54
> > este no entiendo porque me lo devuelve
> >
> > --- 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, 20:57
> >
> > Damián,
> >
> > si es remota, entonces tenés un error de
> concepto, porque
> > el comando
> > chmod() se puede aplicar solo a archivos locales, y
> si vos
> > estás
> > empezando la ruta con /public_html/ la barra implica
> que es la
> > raíz, y
> > ves esa raíz solo si estás conectado por FTP.
> >
> > El directorio al que querés cambiarle los
> permisos está
> > funcionando en
> > una PC con MS Windows, en las que no hay permisos...
> >
> > $newdir nunca es creado en local, así que debe
> ser un
> > directorio que ya
> > existe, pero si ya existe, el nombre de la variable
> es, al
> > menos,
> > confuso.
> >
> > Ojalá te sirvan estos tips para seguir adelante
> con esto!
> >
> >
> >
> > El mar, 07-05-2013 a las 12:31 -0700, Damián
> Colledani
> > escribió:
> > > remota
> > >
> > > --- 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, 20:28
> > >
> > > Esto es porque las rutas vistas desde el
> FTP, no
> > tienen la
> > > misma raíz
> > > que vistas por un script PHP, que puede
> ver todo el
> > disco.
> > >
> > >
> > > PD: perdón, pero sigo sin entender qué
> tiee que ver
> > una
> > > conexión FTP en
> > > todo esto... sin ese contexto, parece que
> estás
> > haciendo las
> > > cosas o
> > > innecesariamente complicadas o con errores
> de
> > concepto.
> > > El script se conecta al propio servidor
> (localhost)
> > o se
> > > conecta a una
> > > máquina remota?
> > >
> > >
> > > El mar, 07-05-2013 a las 12:13 -0700,
> Damián
> > Colledani
> > > escribió:
> > > > 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 archivo
> > > > Agradezco 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
> > > >
> > > >
> _______________________________________________
> > > > 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
> > >
> > > _______________________________________________
> > > 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
> > Web: http://leonardo.tadei.com.ar
> > 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
> >
> > _______________________________________________
> > 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
>
> _______________________________________________
> 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