hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
04 de ſeptiembre de 2008, 10:16:19
Noticias: Participa en el batch lab de CPH
Para ver este enlace Registrate o Inicia Sesion
aqui

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Desarrollo Web
| | |-+  Php (Moderador: shevchenko)
| | | |-+  Subir archivos con PHP por FTP
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Subir archivos con PHP por FTP  (Leído 111 veces)
shevchenko
Moderador
*****
Desconectado Desconectado

Mensajes: 622


Si la vida no te sonríe… ¡Hazle cosquillas!


Ver Perfil WWW
« : 11 de Julio de 2008, 07:32:36 »

Creamos un archivo php común usando nuestro editor favorito. En él creamos un formulario como cualquier otro, con las siguientes opciones
Código:
<form name="enviador" method="post" action="recibe.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Archivo: <input type="file" name="archivo">
<input type="submit">

Aquí hay que notar algunas cosas:

Primero, en el enctype="multipart/form-data", le decimos que el contenido del formulario será cifrado por partes, esto es necesario para que el manejo de archivos sea más fácil para nuestro script, ya que sería muy díficil poder transmitir de golpe un archivo muy pesado por ejemplo.

Luego viene un campo de tipo hidden, esto último es opcional, pero lo recomiendo para limitar el tamaño del archivo a transmitir, la macro MAX_FILE_SIZE se encargará de esa gestión.

Veamos ahora la contraparte, el archivo recibe.php que es el que se encarga de hacer la conexión FTP mediante PHP.

Nota: Es MUY importante que leas los comentarios del codigo (En verde) para entender el tutorial
Código:
<?php
// Primero creamos un ID de conexión a nuestro servidor
$cid ftp_connect("www.cg.edu.mx");
// Luego creamos un login al mismo con nuestro usuario y contraseña
$resultado ftp_login($cid"usuario","noteladigo");
// 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"boca");
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 "/srv/www/htdocs/boca/" $local;
// Verificamos si no hemos excedido el tamaño del archivo
if (!$tama<=$_POST["MAX_FILE_SIZE"]){
echo "Excede el tamaño del archivo...<br />";
} else {
// 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);
?>

fuente:www.cristalab. com
En línea



Para ver este enlace Registrate o Inicia Sesion
Aprende C++ ( 29 Videotutoriale s )
   
Para ver este enlace Registrate o Inicia Sesion
Consejos Web
 
Para ver este enlace Registrate o Inicia Sesion
F.A.Q-Temas Importantes sobre PHP


Para ver este enlace Registrate o Inicia Sesion
FAQ - Temas Importantes sobre ASP
   
Para ver este enlace Registrate o Inicia Sesion
Lista de Script de ASP

Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online