Foros del Web » Programando para Internet » PHP »

ftp con php...

Estas en el tema de ftp con php... en el foro de PHP en Foros del Web. Buenas a todos, estoy haciendo una pagina q precisa upload de archivos con pesos superiores a los permitidos en los hosting q no son dedicados. ...
  #1 (permalink)  
Antiguo 08/04/2010, 11:43
 
Fecha de Ingreso: noviembre-2008
Mensajes: 103
Antigüedad: 15 años, 5 meses
Puntos: 0
ftp con php...

Buenas a todos,
estoy haciendo una pagina q precisa upload de archivos con pesos superiores a los permitidos en los hosting q no son dedicados. Una solucion incomoda q encontre es enseñarle al usuario a q use un programa ftp comun y q cargue la ruta mediante un formulario html... alguno sabe si es posible crear una pagina q sea ftp y puedan subirse los archivos de cualquier tamaño?

desde ya muchas gracias!!!

ROME
  #2 (permalink)  
Antiguo 08/04/2010, 11:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: ftp con php...

Claro que se puede. Lee sobre la librería FTP.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 08/04/2010, 11:51
 
Fecha de Ingreso: abril-2010
Ubicación: Chile
Mensajes: 76
Antigüedad: 14 años
Puntos: 3
Respuesta: ftp con php...

Aqui te dejo un script hecho por Aoyama de cristalab

Código HTML:
Ver original
  1. <form name="enviador" method="post" action="recibe.php" enctype="multipart/form-data">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="1000">
  3. Archivo: <input type="file" name="archivo">
  4. <input type="submit">
Código PHP:
Ver original
  1. <?php
  2.     // Primero creamos un ID de conexión a nuestro servidor
  3.     $cid = ftp_connect("www.cg.edu.mx");
  4.     // Luego creamos un login al mismo con nuestro usuario y contraseña
  5.     $resultado = ftp_login($cid, "usuario","noteladigo");
  6.     // Comprobamos que se creo el Id de conexión y se pudo hacer el login
  7.     if ((!$cid) || (!$resultado)) {
  8.         echo "Fallo en la conexión"; die;
  9.     } else {
  10.         echo "Conectado.";
  11.     }
  12.     // Cambiamos a modo pasivo, esto es importante porque, de esta manera le decimos al
  13.     //servidor que seremos nosotros quienes comenzaremos la transmisión de datos.
  14.     ftp_pasv ($cid, true) ;
  15.     echo "<br> Cambio a modo pasivo<br />";
  16.     // Nos cambiamos al directorio, donde queremos subir los archivos, si se van a subir a la raíz
  17.     // esta por demás decir que este paso no es necesario. En mi caso uso un directorio llamado boca
  18.     ftp_chdir($cid, "boca");
  19.     echo "Cambiado al directorio necesario";  
  20.     // Tomamos el nombre del archivo a transmitir, pero en lugar de usar $_POST, usamos $_FILES que le indica a PHP
  21.     // Que estamos transmitiendo un archivo, esto es en realidad un matriz, el segundo argumento de la matriz, indica
  22.     // el nombre del archivo
  23.     $local = $_FILES["archivo"]["name"];
  24.     // Este es el nombre temporal del archivo mientras dura la transmisión
  25.     $remoto = $_FILES["archivo"]["tmp_name"];
  26.     // El tamaño del archivo
  27.     $tama = $_FILES["archivo"]["size"];
  28.     echo "<br />$local<br />";
  29.     echo "$remoto<br />";
  30.     echo "subiendo el archivo...<br />";
  31.     // Juntamos la ruta del servidor con el nombre real del archivo
  32.     $ruta = "/srv/www/htdocs/boca/" . $local;
  33.     // Verificamos si no hemos excedido el tamaño del archivo
  34.     if (!$tama<=$_POST["MAX_FILE_SIZE"]){
  35.         echo "Excede el tamaño del archivo...<br />";
  36.     } else {
  37.         // Verificamos si ya se subio el archivo temporal
  38.         if (is_uploaded_file($remoto)){
  39.             // copiamos el archivo temporal, del directorio de temporales de nuestro servidor a la ruta que creamos
  40.             copy($remoto, $ruta);      
  41.         }
  42.         // Sino se pudo subir el temporal
  43.         else {
  44.             echo "no se pudo subir el archivo " . $local;
  45.         }
  46.     }
  47.     echo "Ruta: " . $ruta;
  48.     //cerramos la conexión FTP
  49.     ftp_close($cid);
  50. ?>

es basico, asi que debes colocarle seguridad, como que solo permita el upload de ciertos ficheros, o deshabilitar el uso de php en la carpeta que subiras los archivos
  #4 (permalink)  
Antiguo 08/04/2010, 12:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: ftp con php...

@KaozC9, ¿cómo el archivo se sube al servidor si no está usando ftp_put?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: ftp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:00.