[Php-avanzado] Maniobra FTP, mi karma.
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Sab Nov 21 20:15:02 ARST 2009
Hola Carolina,
$_FILES['img']['tmp_name'] nunca te da problema como _origen_, porque es
la ruta y el archivo. Hacele un print y fijate.
Debés de estar teniendo problemas con el _destino_, ya que el usuario
FTP ve como raiz su "home" y no necesariamente la raíz del disco.
Si te logueas por FTP con ese usuario, vas a poder ver a dónde
"aterriza" y de ahí en más construir la ruta de destino.
Salu2!
El sáb, 21-11-2009 a las 18:43 -0300, Silverzero escribió:
> Quiero hacer la maniobra FTP, conecta y se loguea, pero no logra mover
> el archivo. Y le estuve dando vueltas pero no consigo que funcione.
>
> En este script tomo las imagenes y las meto en un array para despues
> poder insertarlas ordenadas en la DB.
> Estuve leyendo en php.net que el archivo que se desea mover tiene que
> estar con la ruta relativa desde donde se loguea el script por FTP. Sé
> que la carpeta temporal de $_FILES['img']['tmp_name'] es /temp/ pero
> dentro de donde? está al mismo nivel que public_html? por FTP no la
> veo.
>
> El script corre en: /public_html/sitio/admin/publicar.php
>
> $path="/public_html/sitio/images/publicaciones/";
> $a=array();
>
> foreach ($_FILES['img']['tmp_name'] as $k => $v){
>
> if (is_uploaded_file($_FILES['img']['tmp_name'][$k])){
>
> $img=cleanlink($_FILES['img']['name'][$k]);
> $imgtmp=$_FILES['img']['tmp_name'][$k];
>
> //muevo el archivo por FTP
> $h=ftp_connect("localhost");
> $login=ftp_login($h, $ftpusr, $ftppass);
>
> if ((!$h) || (!$login)) {
> print('<p class="warning">La conexion fallo</p>');
> }else{
> print('<p class="warning">Estado
> conectado</p>');
>
> $upload=ftp_put($h, $path.$img, $imgtmp,
> FTP_BINARY);
>
> if ($upload){
> print ("Se subio el archivo");
> }else{
> print ("No se pudo subir el archivo");
> }
> }
>
> ftp_close($h);
>
> array_push($a,$img);
> }
> }
>
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado