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