๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #74

funcion ftp_put

#74
From: beaster.terra.es
Date: Wed, 22 Dec 2004 00:30
68 lines
3296 bytes
Tengo un problema con mi servidor y php, el caso es q tiene ciertas 
restricciones, que no me deja mover archivos desde un cierto directorio 
a otro, mediente file upload. Total que me he planteado subir los 
archivos mediante las funciones de FTP. La cosa es que no consigoi hacer 
que funcione la funcion ftp_put();

Esta funcion se define asi:

ftp_put($conexion, $destino, $origen, $modo);

Mis problemas radican en $destino y $origen.

vemoas, yo ciando me conecto mediante ftp al lugar donde quiero meter 
esos archivos me deja en un directorio donde si hacemos un ls aparecen 
entre otros los siguientes directorios:

/httpsdocs
/httpdocs

Y el archivo que kiero colocar es porejemplo bandera.gif en el directorio

/httpdocs/imagenes

Para ello me situo en el directorio mediante ftp_chdir() y 
efectivamente, cuando ejecuto ftp_pwd($conexion), me dice que estoy en 
/httpdocs/imagenes

Pongamos por caso que el archivo origen se llamara bandera.gif cuyo path 
en local seria: /home/torpedo/bandera.gif y kiero que quede en 
/httpdocs/imagenes renombrada a articulo.34.gif. El codigo que uso para 
esto es el siguiente:

/********************************************
*Venimos de un formulario multipart_form_data
*y tenemos un campo file llamado 'imagen'
************************************************/
     $name = $_FILES['imagen']['name'];
     $ftp_c = ftp_connect($this->ftp_server);
     if(!($ftp_c)){
       return 7; // no hay conexion ni nada

     }
     $ftp_r = ftp_login($ftp_c, $this->ftp_user, $this->ftp_passwd);
     if(!($ftp_r)){
       return 8; // no hay conexion ni nada
     }
     $ftp_cd = ftp_chdir($ftp_c, "httpdocs/imagenes");
     if(!$ftp_cd){
       return 8;
     }
     $ftp_carga = ftp_put($ftp_c,  ".", $name FTP_BINARY);
     if(!$ftp_carga){
       echo "<br> Terminado 9, ftp_carga = false, name=$name";
       return 8;
     }

     ftp_close($ftp_c);
/*********************************************************/

Y el error que me da es:

ftp_put(): error opening bandera_es.gif in 
/home/httpd/vhosts/sinoduelenovale.com/httpsdocs/clases/utilidades.inc.php 
on line 112

Siendo la linea 112 la linea del ftp_put

Cualquier sugerencia la intentar๏ฟฝ, gracias
Technical Details
Message-ID: <_e3yd.4533030$A6.13873881@telenews.teleline.es>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!telenews.teleline.es!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,7f3921b9c760469d,start
X-Google-Thread: 107579,7f3921b9c760469d,start
X-Google-Attributes: gidf86c8,gid107579,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!telenews.teleline.es!not-for-mail
X-Trace-PostClient-IP: 217.126.142.93
From: "beaster.terra.es" <beaster@terra.es>
User-Agent: Mozilla Thunderbird 1.0 (X11/20041206)
X-Accept-Language: en-us, en
MIME-Version: 1.0
Newsgroups: es.comp.os.linux.programacion,es.comp.lenguajes.php
Subject: funcion ftp_put
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 68
Message-ID: <_e3yd.4533030$A6.13873881@telenews.teleline.es>
Date: Wed, 22 Dec 2004 00:30:50 GMT
NNTP-Posting-Host: 10.20.31.4
X-Complaints-To: usenet@teleline.es
X-Trace: telenews.teleline.es 1103675450 10.20.31.4 (Wed, 22 Dec 2004 01:30:50 MET)
NNTP-Posting-Date: Wed, 22 Dec 2004 01:30:50 MET
Organization: Terra Networks