Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/02/2010, 16:18
rufus
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
Respuesta: problema con script de php + mysql

estoy usando estre script que he encontrado en la red pero no me funciona

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>

<form name="enviador" method="post" action="ftp_upload.php" enctype="multipart/form-data">
<input  name="name">
Archivo: <input type="file" name="archivo">
<input type="submit">
</form>

</body>
</html>

ftp_upload.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
Código PHP:
<?php
    
// Primero creamos un ID de conexión a nuestro servidor
    
$cid ftp_connect("www.tanato.site11.com");
    
// Luego creamos un login al mismo con nuestro usuario y contraseña
    
$resultado ftp_login($cid"usuario","contraseña");
    
// Comprobamos que se creo el Id de conexión y se pudo hacer el login
    
if ((!$cid) || (!$resultado)) {
        echo 
"Fallo en la conexión"; die;
    } else {
        echo 
"Conectado.";
    }
    
// Cambiamos a modo pasivo, esto es importante porque, de esta manera le decimos al 
    //servidor que seremos nosotros quienes comenzaremos la transmisión de datos.
    
ftp_pasv ($cidtrue) ;
    echo 
"<br> Cambio a modo pasivo<br />";
    
// Nos cambiamos al directorio, donde queremos subir los archivos, si se van a subir a la raíz
    // esta por demás decir que este paso no es necesario. En mi caso uso un directorio llamado boca
    
ftp_chdir($cid"public_html/imagenes");
    echo 
"Cambiado al directorio necesario";   
    
// Tomamos el nombre del archivo a transmitir, pero en lugar de usar $_POST, usamos $_FILES que le indica a PHP
    // Que estamos transmitiendo un archivo, esto es en realidad un matriz, el segundo argumento de la matriz, indica
    // el nombre del archivo
    
$local $_FILES["archivo"]["name"];
    
// Este es el nombre temporal del archivo mientras dura la transmisión
    
$remoto $_FILES["archivo"]["tmp_name"];
    
// El tamaño del archivo
    
$tama $_FILES["archivo"]["size"];
    echo 
"<br />$local<br />";
    echo 
"$remoto<br />";
    echo 
"subiendo el archivo...<br />";
    
// Juntamos la ruta del servidor con el nombre real del archivo
    
$ruta "www.tanato.site11.com/public_html/imagenes/" $local;
    
// Verificamos si no hemos excedido el tamaño del archivo
    
        // Verificamos si ya se subio el archivo temporal
        
if (is_uploaded_file($remoto)){
            
// copiamos el archivo temporal, del directorio de temporales de nuestro servidor a la ruta que creamos
            
copy($remoto$ruta);        
        }
        
// Sino se pudo subir el temporal
        
else {
            echo 
"no se pudo subir el archivo " $local;
        }

    echo 
"Ruta: " $ruta;
    
//cerramos la conexión FTP
    
ftp_close($cid);
?>
</body>
</html>

El error que me da es este:

Warning: copy(http://www.tanato.site11.com/public_...nes/marta1.jpg) [function.copy]: failed to open stream: No such file or directory in G:\wamp\www\tanatostattoo\ftp_upload.php on line 46
Ruta: http://www.tanato.site11.com/public_...nes/marta1.jpg


Y el codigo original esta aqui:

http://www.cristalab.com/tutoriales/...por-ftp-c112l/