miércoles, octubre 28, 2009

Subiendo Archivo por FTP en PHP

Partiendo del Post anterior aquí les tengo uno más comleto, solo que este sube por FTP

// Primero creamos un ID de conexión a nuestro servidor
$cid = ftp_connect("127.0.0.1");
// Luego creamos un login al mismo con nuestro usuario y contraseña
$resultado = ftp_login($cid, "Prueba","pelos08");
// 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, false) ;
echo "
Cambio a modo pasivo
";
// Nos cambiamos al directorio, donde queremos subir los archivos, si se van a subir a la raíz
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"];
$type= $_FILES['Archivo']["type"];
echo "
$local
";
echo "$remoto
";
echo "subiendo el archivo...
";
// Juntamos la ruta del servidor con el nombre real del archivo
$ruta = "../img-vista/Original/" . $local;
$ruta1 = "../img-vista/Miniatura/".$local;
// Verificamos si no hemos excedido el tamaño del archivo
if ( ($tama > $_POST["MAX_FILE_SIZE"])){
echo "Este archivo excede el limite de tamaño
";
} else
{
if (!($type=="image/jpeg" or $type=="image/png" or $type=="image/gif" ))
{
echo "No es una imagen";
// Verificamos si ya se subio el archivo temporal
}
else
{
if (is_uploaded_file($remoto))
{
// copiamos el archivo temporal, del directorio de temporales de nuestro servidor a la ruta que creamos
copy($remoto, $ruta);
ConvierteJpeg($ruta,$type)
}
// Sino se pudo subir el temporal
else
{
echo "No se pudo subir el archivo " . $local;
}
}

}
echo "\nRuta: " . $ruta;
echo "\n".$nuevo;
//cerramos la conexión FTP
ftp_close($cid);
Header("Location: ../Formulario_Subida.php");


function ConvierteJpeg($ruta,$type)
{
if (!($type=="image/jpeg" or $type=="image/png" or $type=="image/gif" or $type=="image/x-png" or $type=="image/pjpeg"))
{
unlink($ruta);
return("er");
}
else
{
if ($type=="image/gif"){
$nuevo = str_replace("gif","jpg",$ruta);
$im=imagecreatefromgif($ruta);
$im=imagejpeg($im,$nuevo);
unlink($ruta);
return($nuevo);
}

if ($type=="image/jpeg" or $type=="image/pjpeg"){
$nuevo=$ruta;
$im=imagecreatefromjpeg($nuevo);
$im=imagejpeg($im,$nuevo);
return($nuevo);
}


if ($type=="image/png" or $type=="image/x-png"){
$nuevo = str_replace("png","jpg",$ruta);
$im=imagecreatefrompng($ruta);
$im=imagejpeg($im,$nuevo);
unlink($ruta);
return($nuevo);
}
}

}


Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

No hay comentarios.:

Publicar un comentario

Deja tu comentario, te lo agradecere By Dzip