Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A CakePHP (2.0) plugin enabling transfer/manipulation/embedding of files in 23 ways.
PHP Other
Pull request Compare This branch is 174 commits ahead, 77 commits behind davidpersson:next.


Database Fields

    create table users (
    id char(36) not null,
    file varchar(255) default null,
    dirname varchar(255) default null,
    basename varchar(255) default null,
    checksum varchar(255) default null,
    created datetime default null,
    modified datetime default null,
    primary key(id)


  1. Clone into /path/to/app/Plugin git clone Media
  2. Add as a submodule git submodule add Plugin/Media
  3. Load the plugin.
    //Within your bootstrap.php
    `CakePlugin::load('Media', array('bootstrap'=>true));
  4. Initialize Media files. cake Media.Media init
    Media Shell
    Do you want to create missing media directories now?
    [n] > y`` /app/webroot/media/ [OK ] /app/webroot/media/static/ [OK ] /app/webroot/media/static/aud [OK ] /app/webroot/media/static/doc [OK ] /app/webroot/media/static/gen [OK ] /app/webroot/media/static/img [OK ] /app/webroot/media/static/vid [OK ] /app/webroot/media/transfer/ [OK ] /app/webroot/media/transfer/aud [OK ] /app/webroot/media/transfer/doc [OK ] /app/webroot/media/transfer/gen [OK ] /app/webroot/media/transfer/img [OK ] /app/webroot/media/transfer/vid [OK ] /app/webroot/media/filter/ [OK ]

Your transfer directory is missing a htaccess file to block requests. Do you want to create it now?
[n] > n

  1. Set the permissions for the Media folder:
    chmod -R 777 webroot/media/{transfer,filter}

Upload and View Image

  1. Set the model as media transfer user
    class User extends AppModel {
    var $name = 'User';
    var $actsAs = array('Media.Transfer', 'Media.Coupler', 'Media.Meta');
  2. Set the form:
    echo $this->Form->create('User', array('type'=>'file'));
    echo $this->Form->input('file', array('type'=>'file'));
    echo $this->Form->input('dirname', array('type'=>'hidden'));
    echo $this->Form->input('basename', array('type'=>'hidden'));
    echo $this->Form->input('checksum', array('type'=>'hidden'));
    echo $this->Form->end(__('Submit'));
  3. To view image, add the Media helper to your controller and use:
    <?php echo $this->Media->embed(h($employee['User']['basename'])); ?>
  4. ENJOY!
Something went wrong with that request. Please try again.