Ver Mensaje Individual
  #8 (permalink)  
Antiguo 20/12/2005, 03:35
Gedeon
 
Fecha de Ingreso: agosto-2003
Mensajes: 174
Antigüedad: 20 años, 9 meses
Puntos: 3
Hola
Primero gracias por responder

En este formulario elijo una foto local que quiero subir al servidor. La elección es enviada a otra rutina que se encarga de subirla

Código PHP:
<form action='Grabafoto.php' method='get' enctype='multipart/form-data'>
  <
table width='100%'  border='0'>
     <
tr>
        <
tdSeleccione la foto
           
<input type='file' name='FotoLocal'>
        </
td>
    </
tr>
    <
tr>
        <
td><div align='center'>
               <
input type='submit' name='Submit' value='Publicar'>
        </
td>
    </
tr>
  </
table>
</
form
Esta es la rutina grabafoto.php donde se recibe el nombre del archivo que quiero subir.
Código PHP:
$FotoLocal=$_GET['FotoLocal']; //nombre del archivo original local 

define("SERVER","192.168.0.253"); //IP o Nombre del Servidor
define("PORT",21); //Puerto
define("USER","Gedeon"); //Nombre de Usuario
define("PASSWORD","123456"); //Contraseña de acceso
define("PASV",true); //Activa modo pasivo

$FotoRemota="Foto11.jpg";

if (!
$id_ftp=ConectarFTP()) 
   {   echo 
"No se puede conectar al servidor. \n";
       return;
   }
   
ftp_chdir($id_ftp,"Galeria");
$Resul=ftp_put($id_ftp,$fotoRemota,$FotoLocal,FTP_BINARY);
if (!
$Resul
   {   echo 
"fallo al escribir";
   } 
ftp_quit($id_ftp); //Cierra la conexion FTP

function ConectarFTP()
{
   
$id_ftp=ftp_connect(SERVER,PORT); 
   
$r=ftp_login($id_ftp,USER,PASSWORD); 
   
$r=ftp_pasv($id_ftp,PASV);
   return 
$id_ftp;

He comprobado que conecta bien (de hecho aparece en el log del servidor) y también que hace bien el chdir (si pongo una carpeta que no existe da error), también termina bien la conexión, pero no consigo que me haga el ftp_put (de hecho ni siquiera llega a aparecer el intento en el log del servidor).

Siempre obtengo "fallo al escribir".

¿Puede ser porque el archivo de la foto esté abierto? (pues se está visualizando en la página anterior)

No veo diferencia con el código que me has puesto como ejemplo.

Un saludo y gracias por responder.