krma-cl/kcfinder
Composer 安装命令:
composer require krma-cl/kcfinder
包简介
A maintained, security-focused continuation of KCFinder for modern production environments
README 文档
README
A maintained, security-focused and production-oriented continuation of KCFinder, preserving backward compatibility and lightweight deployment.
KCFinder Resurrected es la continuación mantenida del administrador de archivos web creado originalmente por Pavel Tzonkov. El proyecto conserva la instalación sencilla y los flujos conocidos de KCFinder, mientras incorpora compatibilidad con PHP moderno, pruebas automatizadas, mejoras de seguridad y contratos preparados para aplicaciones actuales.
No es un parche temporal del repositorio histórico: es una línea de continuidad con identidad, releases y hoja de ruta propias. Reconocemos y preservamos explícitamente el trabajo original de sunhater/kcfinder.
Estado del proyecto
- Versión estable:
v4.5.0. - Paquete Composer:
krma-cl/kcfinder. - Compatibilidad mantenida: PHP 8.2, 8.3, 8.4 y 8.5.
- Distribución tradicional mediante ZIP autosuficiente.
- Matriz continua de sintaxis, PHPUnit, PHPStan y validación de artefactos.
- Selector moderno JSON opt-in, sin retirar el selector heredado.
- Adaptadores oficiales, versionados de forma independiente, para Laravel y Symfony.
Qué es KCFinder
KCFinder es un administrador de archivos web de código abierto que puede integrarse con CKEditor, TinyMCE y aplicaciones personalizadas. Permite navegar carpetas, subir y administrar archivos, crear miniaturas, editar imágenes y seleccionar recursos para incorporarlos en otros sistemas.
Características
- Navegación de carpetas y operaciones AJAX.
- Carga múltiple mediante selector, arrastrar y soltar y fuentes externas.
- Miniaturas, redimensionado, rotación EXIF y marcas de agua.
- Edición de imágenes mediante Filerobot y recorte rápido con Jcrop.
- Descarga de archivos y carpetas como ZIP.
- Copia, movimiento, renombrado y eliminación según permisos configurados.
- Selección simple o múltiple para integraciones personalizadas.
- Respuesta JSON versionada con nombre, ruta, URL, MIME y tamaño.
- Sesiones y protección CSRF.
- Reconocimiento MIME mediante Fileinfo.
- Soporte para múltiples idiomas y temas.
- Tema Bootstrap 5 desacoplado y opcional.
- Interfaz responsiva con panel móvil de carpetas y controles accesibles por teclado.
Interfaz responsiva
En pantallas menores a 768 píxeles, el árbol de carpetas se transforma en un panel lateral accesible desde el botón Carpetas. El panel se cierra al elegir una carpeta, tocar el fondo o presionar Escape; además, conserva el foco dentro del panel mientras está abierto y lo devuelve al botón al cerrarse.
El comportamiento forma parte del núcleo y funciona con el tema clásico. Los temas opcionales pueden adaptar su presentación sin sustituir el controlador responsivo ni introducir una dependencia obligatoria en Bootstrap.
Instalación
ZIP tradicional
Descargue el ZIP y su suma SHA-256 desde GitHub Releases. Este canal no requiere Composer, Node.js ni Docker en el servidor.
Las instrucciones completas se encuentran en doc/Distribution.md.
Composer
composer require krma-cl/kcfinder
Composer instala el paquete en vendor/krma-cl/kcfinder y expone el namespace moderno KCFinder\ mediante PSR-4. No publique el directorio vendor completo como raíz web; para la interfaz independiente utilice el ZIP tradicional o una publicación controlada de recursos.
Componentes oficiales
El núcleo, los adaptadores de frameworks y el tema visual se mantienen como proyectos independientes. Todos son opcionales y tienen su propio ciclo de versiones; instalar uno de ellos no agrega dependencias al núcleo para quienes utilizan KCFinder de manera tradicional.
Adaptador para Laravel
krma-cl/kcfinder-laravel integra KCFinder con Laravel 12 y 13, incluyendo Laravel Storage, autorización mediante Gates, publicación de configuración y eventos del selector moderno.
composer require krma-cl/kcfinder-laravel:^1.0
El paquete y sus versiones estables están disponibles en Packagist. Consulte el README del adaptador para publicar su configuración y conectarlo al disco y las reglas de autorización de la aplicación.
Bundle para Symfony
krma-cl/kcfinder-symfony-bundle integra KCFinder con Symfony 7.4 y 8.x mediante servicios, eventos, autorización y almacenamiento Flysystem 3.
composer require krma-cl/kcfinder-symfony-bundle:^1.0
El bundle y sus versiones estables están disponibles en Packagist. Su README contiene la configuración del bundle, los servicios y el adaptador de almacenamiento.
Tema Bootstrap 5
kcfinder-bootstrap5-theme ofrece una interfaz opcional basada en Bootstrap 5 y Bootstrap Icons, sin CDN ni dependencias de ejecución adicionales.
- Descargue el ZIP desde los releases del tema.
- Copie su directorio
dist/bootstrap5comothemes/bootstrap5dentro de KCFinder. - Configure el tema:
'theme' => 'bootstrap5',
Después de instalarlo o actualizarlo, elimine cache/theme_bootstrap5.css y cache/theme_bootstrap5.js si existen para que KCFinder regenere los recursos combinados. El tema clásico continúa incluido y disponible como alternativa.
Selector moderno
El selector estructurado puede entregar un objeto versionado como el siguiente:
{
"name": "DO-20130614.pdf",
"path": "/01-actos/diario-oficial/2013/DO-20130614.pdf",
"url": "/storage/transparencia/01-actos/diario-oficial/2013/DO-20130614.pdf",
"mime": "application/pdf",
"size": 184320
}
La activación es opt-in y mantiene la compatibilidad con callbacks heredados. Los callbacks estructurados y el uso seguro de postMessage están documentados en doc/ModernSelector.md.
Requisitos
- PHP 8.2 o superior dentro de la matriz mantenida.
- Apache 2.4 como servidor probado oficialmente; otros servidores pueden funcionar con configuración equivalente.
- Fileinfo e Intl.
- GD, Imagick o GraphicsMagick para imágenes y miniaturas.
- mbstring recomendada para nombres Unicode.
- EXIF para orientación automática.
- ZIP para descargas agrupadas.
Seguridad
KCFinder administra uploads y operaciones de sistema de archivos, por lo que debe ejecutarse detrás de autenticación y autorización adecuadas. Revise SECURITY.md antes de habilitarlo públicamente y utilice el canal privado de GitHub para informar vulnerabilidades.
La configuración segura, CSRF, validación de tipos, rutas y sesiones cuentan con pruebas automatizadas. No se ocultan warnings ni deprecations para conseguir que la suite pase.
Desarrollo
composer install
composer test
composer test valida sintaxis, ejecuta PHPUnit y analiza el código moderno con PHPStan. El pipeline repite estas verificaciones en PHP 8.2, 8.3, 8.4 y 8.5.
Para construir y verificar localmente los dos formatos de distribución:
composer package php tools/verify-composer-install.php
Arquitectura y hoja de ruta
La dirección del proyecto está documentada en doc/Architecture.md. La hoja de ruta conserva un núcleo independiente y contempla:
- Compatibilidad y pruebas de caracterización.
- Seguridad y configuración de producción.
- Servicios y contratos desacoplados.
- Selector JSON moderno.
- Composer, Packagist y releases reproducibles.
- Interfaz responsiva y accesible.
- Adaptadores oficiales para Laravel y Symfony, publicados en repositorios independientes.
La superficie HTTP y los comportamientos heredados protegidos por pruebas se describen en doc/PublicSurface.md. Las decisiones arquitectónicas relevantes se registran en doc/adr.
Linaje y agradecimientos
- KCFinder original, creado por Pavel Tzonkov.
- Continuación previa de DevCrh/KCFinder Resurrected.
- Editor de imágenes Filerobot Image Editor.
- Todas las personas que han contribuido, probado y reportado problemas durante la vida del proyecto.
KCFinder Resurrected mantiene su linaje visible porque la continuidad del software libre se construye sobre el trabajo anterior, no borrándolo.
Licencias
El proyecto continúa disponible bajo:
- GNU General Public License, versión 3 o posterior.
- GNU Lesser General Public License, versión 3 o posterior.
krma-cl/kcfinder 适用场景与选型建议
krma-cl/kcfinder 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 07 月 15 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「symfony」 「laravel」 「kcfinder」 「file-manager」 「file-uploader」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 krma-cl/kcfinder 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 krma-cl/kcfinder 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 krma-cl/kcfinder 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
KCFinder is free open-source alternative to the CKFinder web file manager
The bundle for easy using json-rpc api on your project
Provides a KCFinder integration for CKEditor for your Symfony Project.
Bundle Symfony DaplosBundle
KCFinder web file manager
KCFinder for Yii2
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 6
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0-or-later
- 更新时间: 2026-07-15