Article View: es.comp.os.linux.programacion
Article #74funcion ftp_put
From: beaster.terra.es
Date: Wed, 22 Dec 2004 00:30
Date: Wed, 22 Dec 2004 00:30
68 lines
3296 bytes
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-mailShow 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