Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/04/2007, 15:56
Avatar de demiurgo_daemon
demiurgo_daemon
 
Fecha de Ingreso: diciembre-2006
Ubicación: Querétaro
Mensajes: 184
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: Ayuda ftp php

hola,

tienes varios errores en tu código:

1. la forma debe tener post, no get:
Código HTML:
<form id="enviadorftp" name="enviadorftp" method="post" action="recibe.php" enctype="multipart/form-data"> 
2. Un error un tanto canónico: ponle comillas a todos los índices de los arreglos:
Código PHP:
$local $_FILES['arch']['name'];
//en vez de
$local $_FILES[arch]['name']; 
3. Aquí estoy asumiendo que tu servidor html/php está en windows. Si es así, seguramente necesitas poner las diagonales invertidas como dobles:

Código PHP:
$local$_FILES[arch]['name'];
$remoto="F:\\programas proyecto\\wamp\\www\\videos\\usuario".$_FILES[arch]['tmp_name'];
ftp_put($id,$remoto,$local,FTP_BINARY); 
aunque, en realidad, $_FILES['arch']['tmp_name'] ya es una ruta completa (al menos en Linux).

4. Cuando haces lo siguiente, entonces todo el proceso del FTP se vuelve innecesario

Código PHP:
$ruta "F:\programas proyecto\wamp\www\videos\usuario".$local;
if (
is_uploaded_file($remoto))
{
    
copy($remoto$ruta);        

5. Habiendo dicho todo esto, y ya que según tu segundo mensaje el servidor http que recibe el archivo y el que sirve de bodega de archivos es el mismo, el código se puede reducir a

Código PHP:
<?php
    $local
$_FILES['arch']['name'];
     
$remoto $_FILES['arch']['tmp_name']

    
$ruta "F:\programas proyecto\wamp\www\videos\usuario".$local;

    if (
is_uploaded_file($remoto))
    {
        
copy($remoto$ruta);        
        echo 
"se ha subido";
    }
    else 
    {
        echo 
"no se pudo subir el archivo :".$local."<br>";
    }
    echo 
"Ruta-->".$ruta;
?>
como última nota, yo en vez de usar el nombre original del archivo para guardarlo, pondría uno propio para evitar problemas de codificación, seguridad, etc.

espero que esto te sea de utilidad

saludos