wbx / file-bundle
file upload
Installs: 1 937
Dependents: 0
Suggesters: 0
Security: 0
Stars: 9
Watchers: 1
Forks: 2
Open Issues: 0
Type:symfony-bundle
pkg:composer/wbx/file-bundle
Requires
- php: >=5.3.2
- symfony/framework-bundle: >=3.4
Suggests
This package is auto-updated.
Last update: 2025-10-24 23:40:08 UTC
README
wbxFileBundle
=============
a Symfony2 Bundle to handle file upload
Installation
============
Bring in the vendor libraries
-----------------------------
This can be done in two different ways:
**Method #1**) Use composer
"require": {
"wbx/file-bundle": "*"
}
**Method #2**) Use deps file
[wbxFileBundle]
git=http://github.com/ma2thieu/wbxFileBundle.git
target=bundles/wbx/FileBundle
**Method #3**) Use git submodules
git submodule add git://github.com/ma2thieu/wbxFileBundle.git vendor/bundles/wbx/FileBundle
Register the wbxFileBundle namespaces (Not required for composer!)
------------------------------------------------------------------
// app/autoload.php
$loader->registerNamespaces(array(
'wbx' => __DIR__.'/../vendor/bundles',
// your other namespaces
));
Add wbxFileBundle to your application kernel
--------------------------------------------
// app/AppKernel.php
public function registerBundles()
{
return array(
// ...
new wbx\FileBundle\wbxFileBundle(),
// ...
);
}
Usage example
=============
Entity
------
# /src/my/Bundle/Entity/File.php
namespace my\Bundle\Entity;
use wbx\FileBundle\Entity\File as wbxFile;
/**
* wbx\CoreBundle\Entity\File
*
* @Orm\Entity()
* @ORM\Table()
*/
class File extends wbxFile {
}
# /src/my/Bundle/Entity/Object.php
/**
* @var \my\Bundle\Entity\File $file
*
* @ORM\ManyToOne(targetEntity="\my\Bundle\Entity\File", cascade={"all"})
* @ORM\JoinColumn(name="file_id", referencedColumnName="id")
*/
private $file;
$mask_path can be used to point to a bitmap file that will be used as a mask.
the image will be resized and cropped to the mask dimensions
(only work with imagick extension)
Form
----
$builder
->add('file', new \wbx\FileBundle\Form\FileType($with_empty, $with_name))
* $with_empty (true|false) : display or not the "empty" checkbox to remove the uploaded file
* $with_name (true|false) : display or not the "name" field. Name default to the uploaded filename
* If the php imagick extension is available it is used to create a png preview of uploaded pdf files. $file->getWebPath() will automatically return the preview file.
View
----
{% include 'wbxFileBundle:File:embed.html.twig' with {
'form' : edit_form.image,
'class' : "myBundle:File",
'imagine_filter' : "my_thumb_filter"
} %}
* `form` is mandatory
* `class` is mandatory (used for the download link)
* `imagine_filter` is optional: if set the bundle [LiipImagineBundle](http://github.com/liip/LiipImagineBundle) is needed and the value of `imagine_filter` will be used as a the name of the Imagine filter to be called to create and display a thumbnail of the picture.
If `imagine_filter` is not defined or == "" a link to the file will be displayed