PHPackages                             bastarann/yii2kcfinder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. bastarann/yii2kcfinder

ActiveYii2-extension[Utility &amp; Helpers](/categories/utility)

bastarann/yii2kcfinder
======================

KCFinder for Yii2

03PHP

Since Dec 30Pushed 10y ago1 watchersCompare

[ Source](https://github.com/bastarann/yii2kcfinder)[ Packagist](https://packagist.org/packages/bastarann/yii2kcfinder)[ RSS](/packages/bastarann-yii2kcfinder/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

KCFinder for Yii2
=================

[](#kcfinder-for-yii2)

[KCFinder](http://kcfinder.sunhater.com/) for Yii2.

WIP...

Installation
------------

[](#installation)

The preferred way to install this helper is through [composer](http://getcomposer.org/download/).

Since kcfinder package do not have stable release on packagist, you should use these settings in your `composer.json` file :

```
"minimum-stability": "dev",
"prefer-stable": true,
```

After, either run

```
php composer.phar require "bastarann/yii2kcfinder" "*"

```

or add

```
"bastarann/yii2kcfinder" : "*"
```

to the require section of your application's `composer.json` file.

Widget Use
----------

[](#widget-use)

Without model :

```
use bastarann\yii2kcfinder\KCFinderInputWidget;

echo KCFinderInputWidget::widget([
	'name' => 'image',
]);
```

With model and ActiveForm :

```
use bastarann\yii2kcfinder\KCFinderInputWidget;

echo $form->field($model, 'images')->widget(KCFinderInputWidget::className(), [
	'multiple' => true,
]);
```

Use with 2amigos/yii2-ckeditor-widget
-------------------------------------

[](#use-with-2amigosyii2-ckeditor-widget)

You should extend `\dosamigos\ckeditor\CKEditor`, e.g. :

```
namespace app\widgets;

use yii\helpers\ArrayHelper;

use bastarann\yii2kcfinder\KCFinderAsset;

class CKEditor extends \dosamigos\ckeditor\CKEditor
{

	public $enableKCFinder = true;

	/**
	 * Registers CKEditor plugin
	 */
	protected function registerPlugin()
	{
		if ($this->enableKCFinder)
		{
			$this->registerKCFinder();
		}

		parent::registerPlugin();
	}

	/**
	 * Registers KCFinder
	 */
	protected function registerKCFinder()
	{
		$register = KCFinderAsset::register($this->view);
		$kcfinderUrl = $register->baseUrl;

		$browseOptions = [
			'filebrowserBrowseUrl' => $kcfinderUrl . '/browse.php?opener=ckeditor&type=files',
			'filebrowserUploadUrl' => $kcfinderUrl . '/upload.php?opener=ckeditor&type=files',
		];

		$this->clientOptions = ArrayHelper::merge($browseOptions, $this->clientOptions);
	}

}
```

You should then set KCFinder options using session var, e.g. :

```
// kcfinder options
// http://kcfinder.sunhater.com/install#dynamic
$kcfOptions = array_merge(KCFinder::$kcfDefaultOptions, [
	'uploadURL' => Yii::getAlias('@web').'/upload',
	'access' => [
		'files' => [
			'upload' => true,
			'delete' => false,
			'copy' => false,
			'move' => false,
			'rename' => false,
		],
		'dirs' => [
			'create' => true,
			'delete' => false,
			'rename' => false,
		],
	],
]);

// Set kcfinder session options
Yii::$app->session->set('KCFINDER', $kcfOptions);
```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/2fd7b5d830d1619f7a5f8d883a856e834d97b59a0de36ad615787c3601d22444?d=identicon)[bastarann](/maintainers/bastarann)

---

Top Contributors

[![bastarann](https://avatars.githubusercontent.com/u/10824538?v=4)](https://github.com/bastarann "bastarann (6 commits)")

### Embed Badge

![Health badge](/badges/bastarann-yii2kcfinder/health.svg)

```
[![Health](https://phpackages.com/badges/bastarann-yii2kcfinder/health.svg)](https://phpackages.com/packages/bastarann-yii2kcfinder)
```

###  Alternatives

[gossi/php-code-generator

Toolset for generating PHP code

148203.9k32](/packages/gossi-php-code-generator)[outl1ne/nova-page-manager

Page(s) and region(s) manager for Laravel Nova.

17945.1k](/packages/outl1ne-nova-page-manager)[verbb/calendar-links

Generate add-to-calendar links for Google, iCal and other calendar systems.

169.4k](/packages/verbb-calendar-links)[rtippin/messenger-ui

Laravel messenger suite UI.

156.4k1](/packages/rtippin-messenger-ui)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
