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í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í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 ($cid, true) ;
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/