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 Symfony Bundle Laravel Package

krma-cl/kcfinder-symfony-bundle

Symfony bundle that integrates KCFinder, the web-based file manager and uploader for CKEditor, into Symfony applications. It simplifies configuration, routing, and asset setup so users can browse, upload, and manage files directly from the editor.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Admin/CMS file browsing for legacy rich-text editors. This bundle wires KCFinder (the long-standing file manager/browser for CKEditor/TinyMCE) into a Symfony application. The decision it unlocks is narrow and concrete: do we keep a "browse/upload/insert image" button working in our existing admin editor, or do we rebuild that flow?
  • Build vs. buy/adopt for media handling. Choosing this bundle is the "adopt" path: you get upload, thumbnail generation, directory browsing, and RTE integration without writing a controller, ACL layer, and thumbnail pipeline yourself. The counter-decision is "build thin": a small upload endpoint backed by Flysystem/spatie/laravel-medialibrary plus a custom browser UI. The bundle wins on time-to-first-value; the build wins on control and security surface.
  • Legacy-stack consolidation. If KCFinder already exists in the codebase as an untracked vendor dump, adopting a Composer-managed bundle is a real roadmap item — it converts unmanaged third-party code into a versioned, updatable dependency.
  • Upgrade-path and platform bets. v1.0.0 is the first stable tag, which is a meaningful signal for "we can pin to a semver range" — but the release carries no changelog content beyond a commit link, so it does not yet support a decision to standardize on this package across multiple applications.
  • Not supported by this package: multi-tenant digital asset management, CDN/S3-backed storage abstraction, server-side image transformation at scale, headless/SPA media pickers, or audit-logged upload governance. Do not let it drift into those decisions.

Framework-fit caveat for the roadmap: this is a Symfony bundle, not a Laravel package. In a Laravel codebase it is a portability exercise (service container bridging, route/config translation), not a drop-in. Treat "we run Laravel" as a cost multiplier in any estimate, and check composer.json constraints for the Laravel/PHP versions you actually support before committing.

When to Consider This Package

Consider it when:

  • You have an existing Symfony (or Symfony-adjacent) admin panel with CKEditor 4 / TinyMCE and users expect in-editor file browsing today.
  • KCFinder is already in production somewhere in your estate and you want it versioned, patchable, and Composer-installed rather than vendored or copy-pasted.
  • Your upload surface is trusted, low-privilege-scope users — internal editors, back-office staff — on a single-tenant install.
  • You can put hard controls around it: MIME/extension allowlist, upload size caps, non-executable upload directory, storage outside the webroot or behind an authenticated controller, and per-directory ACLs.
  • You need a time-boxed spike (1–3 days) to prove the editor integration before deciding on a longer-term media strategy.

Look elsewhere when:

  • The project is greenfield. Starting a new media stack on a legacy PHP file browser is a poor default; use spatie/laravel-medialibrary, Flysystem, or a hosted DAM instead.
  • You need Laravel-native ergonomics: published config, artisan commands, Laravel auth gates, queue-based thumbnailing. Here you would be writing the adapter layer yourself.
  • You require modern storage (S3/GCS), responsive image derivatives, virus scanning, EXIF stripping, or per-asset audit trails.
  • You need a maintained security posture with an active CVE response process. KCFinder's history includes arbitrary-file-upload and path-traversal classes of vulnerability; the bundle's v1.0.0 notes give no evidence of a security review, a disclosure policy, or a supported-versions statement.
  • Your users are external/untrusted, or the upload path is reachable without authentication. That is a stop sign, not a trade-off.
  • Release hygiene matters to you (see caveat below) and you cannot tolerate sparse changelogs.

Release-hygiene caveat: v1.0.0 ships with no release notes beyond a Full Changelog link, and the assessment is based on an empty evidence set. Before adoption, verify: supported PHP/Symfony versions, test coverage, last-commit recency, open security issues, and whether 1.0.0 reflects API stability or simply a first tag. Absent that, treat it as "preliminary — pending due diligence" rather than an approved dependency.

How to Pitch It (Stakeholders)

For executives (30 seconds): We have a small, contained need — letting content editors browse and insert images from inside our existing rich-text editor. There is a Symfony bundle that wraps KCFinder, a mature but old file manager, and it reached its first stable release. Adopting it is cheap and removes a chunk of custom upload code. The catch is that this class of tool has a history of upload-related security bugs, so I am recommending a short, time-boxed spike plus a security review — not a platform-wide standard. Expected effort is small; the risk is contained if we sandbox uploads and keep the tool behind admin authentication.

For engineering leads: This is a Symfony bundle, so in a Laravel codebase it is integration work, not a one-line install — budget for config/route/auth bridging and a compatibility check against our PHP and framework versions. The v1.0.0 tag gives us a semver anchor, but the release notes are effectively empty, so we should read the diff ourselves. Non-negotiables if we proceed: extension/MIME allowlist, uploads stored outside the executable webroot or served through an authenticated controller, size and count limits, and a documented exit path if we later move to a Laravel-native media library.

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.
skyraptor/chatter
edlugz/sasapay
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