Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Kcfinder Bundle Laravel Package

ikadoc/kcfinder-bundle

Integrates KCFinder, the open-source web file manager, into Symfony applications. Provides bundle setup and routing so you can browse, upload, and manage files from CKEditor or standalone, using a familiar PHP backend.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Scope decision for rich-text media handling: Whether the editor surface (CMS pages, admin copy, product descriptions) ships with an embedded browse/upload dialog or defers to plain upload fields. This package answers "how fast can we get a file browser?" — a sprint-level scoping input, not a strategic one.
  • Build vs. buy — with a caveat: The bundle wraps KCFinder, which already solves the browser UI, thumbnail generation, folder trees, and type-based upload rules. Buying is cheap here; the cost hides in the maintenance tail. Frame the decision as "adopt a legacy component we will own forever" rather than "integrate a package."
  • Stack-fit gate (decisive for us): This is a Symfony bundle, not a Laravel package. For a Laravel product it is a non-starter as a direct dependency — no service provider, no publishable config, no Laravel routing. It informs the decision only as a reference implementation.
  • Editor modernization roadmap: KCFinder is PHP 5-era and effectively unmaintained; it pairs with CKEditor 4 (end-of-life). Any plan that touches the editor should treat adopting this as locking in a migration project later. It argues for moving to CKEditor 5 with a custom upload adapter, not against.
  • Exposure segmentation: Defensible for a low-traffic internal admin tool with a handful of trusted authors; indefensible for customer-facing or multi-tenant uploads. That split is a product decision, not an engineering one.
  • Ownership and resourcing: Six stars, zero dependents, single maintainer means any real use implies forking and owning the code. That is a headcount/roadmap commitment, not an integration task.

When to Consider This Package

Adopt only when all of the following hold:

  • The product is on Symfony — it will not install into a Laravel app without a fork/port that discards most of the bundle's value.
  • You are already committed to CKEditor 4 and need a working file browser quickly for an internal, low-traffic admin panel.
  • The environment is trusted-user only — no anonymous uploads, no public file browsing, no weak shared-hosting isolation.
  • You have accepted fork-and-maintain ownership, including security patching of the underlying KCFinder code, with a named owner and a budget line.
  • The maintained alternative (Spatie Media Library + a CKEditor 5 upload adapter, or a supported file manager) is genuinely more expensive for this sprint than the risk you are taking on.

Look elsewhere when:

  • The stack is Laravel. Use spatie/laravel-medialibrary with a small upload endpoint, or UniSharp/laravel-filemanager if a full browser UI is required. Both are supported and Laravel-native.
  • Uploads are customer-facing or multi-tenant. KCFinder has a documented history of arbitrary-upload/RCE, path traversal, and XSS issues with no upstream response — a hard stop.
  • You are on, or moving to, CKEditor 5. A custom upload adapter is a modest amount of code and obviates the file-browser bundle entirely.
  • You need a supported dependency. No maintainer commitment, no security disclosure process, no LTS, and zero ecosystem validation (6 stars, 0 dependents) means no evidence anyone runs this at scale.
  • You need storage abstraction. KCFinder does synchronous local-disk I/O; S3/CDN and multi-node setups require custom work.

How to Pitch It (Stakeholders)

To executives: This is a small, MIT-licensed Symfony bridge that adds a file/image browser to CKEditor 4, saving roughly a few weeks of UI work on an internal admin tool. Two problems: it wraps a legacy, largely unmaintained file manager with a known security history, and it does not fit our Laravel stack. Recommendation: do not adopt. The savings are short-term; the migration and security exposure become a permanent downstream cost we would own.

To engineering: Treat this as a reference implementation, not a dependency. Zero dependents and a single maintainer mean no community validation and no upstream fixes — using it means forking it, and inheriting PHP 5-era code with critical upload vulnerabilities that bypass Laravel's validation, authorization, Flysystem, and MIME handling. If the requirement is simply "CKEditor file/image upload," the modern path is a maintained media library plus a first-party upload adapter — a modest amount of code that keeps us on a supported editor and inside our existing trust boundary. If a specific internal Symfony tool already runs CKEditor 4, a time-boxed, web-server-gated fork is defensible — but only with a named owner and no customer-facing exposure.

Bottom line: Low-fit, low-signal, high-carrying-cost. The package answers a question our architecture has already outgrown.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package