Script para administrar y subir archivos: características y uso

  • Autor Autor Isidro
  • Fecha de inicio Fecha de inicio
I

Isidro

Gamma
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola betas. Hace unos dos años hice un pequeño script que permite subir archivos múltiples y gestionarlos. Lo publico porque nunca lo llegué a usar y es mejor que perderlo...

Características:
  • No tiene mucho diseño; no me iba a entretener en eso... pero no es desagradable a la vista.
  • Cuenta con registro e identificación de usuarios con un clic; si no está registrado no puede descargar.
  • La sesión (cookie) permanece durante 30 días (se puede editar). Si inicias la sesión desde otro sitio, la sesión del primero se cerrará; puede ser útil, pues si no desconectaste la sesión ni borraste las cookies y se cerró la sesión, puede significar que alguien entró en tu cuenta.
  • Cualquier usuario puede ver todo el historial de descargas o el de un archivo concreto si dicho archivo es de su autoría.
  • El usuario tiene un listado de sus archivos. Se permite editar el nombre del archivo, así como eliminarlo; se eliminará el historial del archivo.
  • Puede elegir y subir múltiples archivos a la vez.
  • Puedes personalizar las extensiones de archivos permitidas; así como el tamaño y la cantidad de archivos permitidos en la subida.
  • El acceso directo a los archivos no está permitido, por lo que siempre se registrarán las descargas y nunca se podrán ejecutar archivos PHP aunque éstos estén subidos íntegramente con dicha extensión.
  • En cada subida, el nombre del archivo se cambia por uno único.

Código:
  • A pesar de la antigüedad del script, su código no está obsoleto, por lo que es compatible con las versiones más recientes de PHP. Tuvo una pequeña "actualización" hace unos meses porque un compañero me pidió código para examinar.
  • Para la contraseña del usuario no se usa MD5; en su lugar se utiliza crypt().
  • Usé distintos bucles; simplemente por aburrimiento y para variar un poco.
  • Utiliza la extensión MySQL mejorada (MySQLi).
  • Su programación estructurada no cuenta con organización de páginas ni nada, son individuales e incluye un archivo que carga el corazón del script.

¿Cómo usarlo?
Yo no recomiendo usarlo para un sitio con usuarios reales... pero para algo personal o para pruebas podría servir. Así pues, sólo hay que subir la base de datos y editar un archivo principal para que empiece a funcionar... otro secundario para personalizarlo un poco.

inc/config.php => En la variable $c se encuentran los datos de conexión a la base de datos. En el mismo archivo, hay que editar la condición de la línea 13. Si lo tienes en la carpeta principal de un dominio o subdominio no debería haber problemas, pero si está en subcarpetas, generaría un bucle de redirecciones.
upload.php => En la variable $allowed se encuentran las extensiones permitidas en la subida; recuerdo que cualquier aplicación externa puede alterar esto... aunque realmente no importa mucho, ya que, como dije antes, en teoría no debería poder ejecutarse en el servidor. En la línea 14 del mismo archivo puede editarse la cantidad máxima de archivos que el usuario puede subir, y en la 18 el tamaño máximo de cada archivo (en bytes). Recuerdo también, que el servidor puede haber establecido una cantidad más pequeña de cada archivo a subir.


Algunas capturas:
1HrQB.jpg 1HrR5.jpg 1HrRA.jpg 1HrTK.png

Descarga: Ver el archivo adjunto downloader.zip | Mediafire | 4shared

Eso es todo. Si tienen dudas o quieren mostrar su aprecio/desprecio, háganlo... Las críticas o mejoras que le puedan hacer al código todos lo agradecerán, aunque yo sólo me he limitado a publicar lo que tengo guardado, no tengo pensado rehacerlo... no me llevo bien con la estructurada.
 
Última edición por un moderador:
:encouragement: Muy bueno ya lo probe en localhost y funciona de maravilla :star2::star2:


Capturas:

ss (2012-12-30 at 08.46.37).webp
 
Última edición:
Muy bueno, esta excelente para web de descargas.
 
Buen aporte amigo! :encouragement:
 
Exelente aporte :encouragement: :encouragement: :encouragement: :encouragement:
 
Se agradece el aporte compañero
 
Gracias amigo ^^! Por el aporte
 
Lo acabo de probar Isidro y funciona perfecto 🙂
 
Hola [MENTION=25488]Isidro[/MENTION],

por qué consideras que esto no puede estar productivo?
 
Hola Isidro,

por qué consideras que esto no puede estar productivo?
¡Hola!

Es un script muy pequeño y hay alternativas gratuitas mejores en cuanto a diseño y funcionalidad. No es que no se pueda usar, pero en mi opinión es mejor usarlo para cosas personales o para copiar el código e integrarlo/fusionarlo con otro script.

Saludos.
 
Atrás
Arriba