Título: Crear WebFTP Publicado por: Traca80 en 9 Noviembre 2007, 22:07 pm Hola a todos!
Hace poco he creado con mi portatil "viejo" un pequeño servidor con Ubuntu 7.10 y Xampp. Ahora lo que quiero hacer es una WebFTP. He mirado tutoriales y he encontrado este codigo: Código: <?php No he conseguido hacerlo funcionar, alguien sabria decirme si esta bien escrito en PHP? Que tengo que hacer? Crear un archivo "index.php" con este codigo exacto (cambiando eso si los parametros de IP, Usuario y Pass) Alguien me puede ayudar? Muchissimas gracias!! Título: Re: Crear WebFTP Publicado por: alone-in-the-chat en 9 Noviembre 2007, 22:11 pm Cual es el error que te lanza??
se un poco mas especifico Saludos Título: Re: Crear WebFTP Publicado por: Traca80 en 9 Noviembre 2007, 22:21 pm Hola,
He instalado en mi portatil Ubuntu 7.10 y Xampp, y he creado y ubi cado el archivo index.php en la carpeta donde tiene que estar en xampp (/opt/lampp/hdocs) pero cuando intento acceder con el explorador al archivo no me aparece nada. Por una parte o puede ser que esta mal publicado o que el archivo no funciona correctamente. Mi duda es si el codigo que he pegado es correcto y si es correcto, que tengo que hacer para crear el archivo "index.php" copio exactamente el codigo (cambiando la direccion del ftp, user y pass) y nada mas? tengo que poner <head> o <body> o algo similar? Título: Re: Crear WebFTP Publicado por: alone-in-the-chat en 9 Noviembre 2007, 22:42 pm si esta escrito en php ,
deberia lanzarte un mensaje dime que te sale al colocar la ruta?? lo de copiar y pegar igual si no debes colocar nada mas aunque ese archivo debes modificarlo aun pero primero lo primero , osea tu servidor funciona?? Código
copia ese codigo en un archivo info.php y intenta acceder a el como http://localhost/info.php Saludos Título: Re: Crear WebFTP Publicado por: Traca80 en 9 Noviembre 2007, 22:54 pm He creado el info.php y lo he puesto en la raiz de xampp (/opt/lampp/hdocs)
voy al firefox y he puesto exactamente la url (http://localhost/info.php) Y esto es lo que me sale: Citar Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0 Fatal error: Unknown: Failed opening required '/opt/lampp/htdocs/info.php' (include_path='.:/opt/lampp/lib/php') in Unknown on line 0 Alguna idea? Muchas gracias!! Título: Re: Crear WebFTP Publicado por: alone-in-the-chat en 9 Noviembre 2007, 23:03 pm Dale permisos de lectura al grupo Others
:D Saludos Título: Re: Crear WebFTP Publicado por: Traca80 en 9 Noviembre 2007, 23:06 pm Permiso de lectura a la carpeta /hdocs o solo al archivo info.php (o en su defecto index.php)??
Título: Re: Crear WebFTP Publicado por: alone-in-the-chat en 9 Noviembre 2007, 23:12 pm X) al archivo aunke si io fuese tu y trabajo en localhost tb le daria a toda la carpeta
*-) Saludos Título: Re: Crear WebFTP Publicado por: Traca80 en 9 Noviembre 2007, 23:23 pm Muchas gracias Alone in the Chat!!
Ahora cuando clico en info.php sale toda una pagina, asi que todo esta correcto :D Ahora he creado un archivo (ftp2.php) con este codigo: Código: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> Y lo he colgado, pero el firefox me devuelve este error: Conectado. Cambio a modo pasivo Warning: ftp_chdir() [function.ftp-chdir]: boca: No such file or directory in /opt/lampp/htdocs/inc/ftp2.php on line 23 Cambiado al directorio necesario subiendo el archivo... no se pudo subir el archivo Ruta: /srv/www/htdocs/boca/ Título: Re: Crear WebFTP Publicado por: Traca80 en 9 Noviembre 2007, 23:56 pm Hola,
Finalmente he optado por adaptar otro codigo, que este SI que funciona y es mucho mas facil. Lo pongo aqui por si alguien le interesa este tema: Crear 2 archivos: index.php Citar <?php echo "<?xml version='1.0' encoding='iso-8859-1'?".">"; ?> <!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> <title>::..Funciones FTP..::</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <p align="center"><font size="5" face="Verdana, Tahoma, Arial"><strong><em> Funciones FTP </em></strong></font></p> <p><font face="Verdana, Tahoma, Arial"> <? include('inc/ftpfunc.php'); //Incluye el archivo de funciones if(!empty($HTTP_POST_FILES["archivo"])){ $file = $HTTP_POST_FILES["archivo"]["tmp_name"]; $base_archivo = basename($HTTP_POST_FILES["archivo"]["name"]); $id_ftp=ConectarFTP(); $upload = ftp_put($id_ftp, $base_archivo, $file, FTP_BINARY); if (!$upload) { $status = "Error al guardar: " . $base_archivo; } else { $status = "Exito al gaurdar: " . $base_archivo; } unset($HTTP_POST_FILES["archivo"]); ftp_quit($id_ftp); } /*if(!empty($HTTP_POST_FILES["archivo"])){ //Comprueba si la variable "archivo" se ha definido SubirArchivo($HTTP_POST_FILES["archivo"],basename($HTTP_POST_FILES["archivo"])); //basename obtiene el nombre de archivo sin la ruta unset($HTTP_POST_FILES["archivo"]); //Destruye la variable "archivo" }*/ ?> <strong><font color="#000000" size="3">Subir Archivo</font></strong></font></p> <hr /> <!--Formulario para elegir el archivo a subir --> <form action="" method="post" name="form_ftp" id="form_ftp" enctype="multipart/form-data"> <p><font size="2" face="Verdana, Tahoma, Arial"> Elegir archivo : <input name="archivo" type="file" id="archivo" /> <input name="Submit" type="submit" value="Subir Archivo" /> </font><font size="2" face="Verdana, Tahoma, Arial"> </font> </p> </form> <hr /> <p><font face="Verdana, Tahoma, Arial"><strong><font color="#000000" size="3"> Lista de Archivos </font></strong></font></p> <table width="69%" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="48%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Nombre</strong></font></div></td> <td width="22%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Tamaño</strong></font></div></td> <td width="30%"><div align="center"><font size="2" face="Verdana, Tahoma, Arial"><strong>Fec. Modificación</strong></font></div></td> </tr> <? $id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP $ruta=ObtenerRuta(); //Obtiene la ruta actual en el Servidor FTP echo "<b>El directorio actual es: </b> ".$ruta; $lista=ftp_nlist($id_ftp,$ruta); //Devuelve un array con los nombres de ficheros $lista=array_reverse($lista); //Invierte orden del array (ordena array) while ($item=array_pop($lista)) //Se leen todos los ficheros y directorios del directorio { $tamano=number_format(((ftp_size($id_ftp,$item))/1024),2)." Kb"; //Obtiene tamaño de archivo y lo pasa a KB if($tamano=="-0.00 Kb") // Si es -0.00 Kb se refiere a un directorio { $item="<i>".$item."</i>"; $tamano=" "; $fecha=" "; }else{ $fecha=date("d/m/y h:i:s", ftp_mdtm($id_ftp,$item)); //Filemtime obtiene la fecha de modificacion del fichero; y date le da el formato de salida } ?> <tr> <td><font size="2" face="Verdana, Tahoma, Arial"><? echo $item ?></font></td> <td align="right"><font size="2" face="Verdana, Tahoma, Arial"><? echo $tamano ?></font></td> <td align="right"><font size="2" face="Verdana, Tahoma, Arial"><? echo $fecha ?></font></td> </tr> <? } ?> </table> </body> </html> Crear en una subcarpeta llamada /inc crear el archivo ftpfun.php Citar <? # FUNCIONES FTP # CONSTANTES # Cambie estos datos por los de su Servidor FTP define("SERVER","localhost"); //IP o Nombre del Servidor define("PORT",21); //Puerto define("USER","jhonyduque"); //Nombre de Usuario define("PASSWORD","123456"); //Contraseña de acceso define("MODO",true); //Activa modo pasivo # FUNCIONES function ConectarFTP(){ //Permite conectarse al Servidor FTP $id_ftp=ftp_connect(SERVER,PORT); //Obtiene un manejador del Servidor FTP ftp_login($id_ftp,USER,PASSWORD); //Se loguea al Servidor FTP ftp_pasv($id_ftp,MODO); //Establece el modo de conexión return $id_ftp; //Devuelve el manejador a la función } function SubirArchivo($archivo_local,$archivo_remoto){ //Sube archivo de la maquina Cliente al Servidor (Comando PUT) $id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP ftp_put($id_ftp,$archivo_remoto,$archivo_local,FTP_BINARY); //Sube un archivo al Servidor FTP en modo Binario ftp_quit($id_ftp); //Cierra la conexion FTP } function ObtenerRuta(){ //Obriene ruta del directorio del Servidor FTP (Comando PWD) $id_ftp=ConectarFTP(); //Obtiene un manejador y se conecta al Servidor FTP $Directorio=ftp_pwd($id_ftp); //Devuelve ruta actual p.e. "/home/willy" ftp_quit($id_ftp); //Cierra la conexion FTP return $Directorio; //Devuelve la ruta a la función } ?> Y listo! Super facil y funcionando!! Muchas gracias por la ayuda ;D |