PHPackages                             didweb/resize - 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. [Image &amp; Media](/categories/media)
4. /
5. didweb/resize

ActiveSymfony-bundle[Image &amp; Media](/categories/media)

didweb/resize
=============

Redimensionar imagenes

v1.0.3(12y ago)043GPLv3PHP

Since May 18Pushed 8y ago1 watchersCompare

[ Source](https://github.com/Didweb/Resize)[ Packagist](https://packagist.org/packages/didweb/resize)[ Docs](https://github.com/Didweb)[ RSS](/packages/didweb-resize/feed)WikiDiscussions master Synced 6d ago

READMEChangelogDependenciesVersions (4)Used By (0)

Resize
======

[](#resize)

Re-dimensionar imagenes

Bundle para redimensionar imágenes a dos tamaños "grande" y "pequeño"

Los tamaños y el director de destino son configurables con parametros desde el app/config.yml

Instalación
-----------

[](#instalación)

Instalación mediante composer, poner en el archivo `composer.json` ...

```
  "require": {
	    ....
	    "didweb/resize": "1.*"
	    ....
     }

```

En el archivo `app/AppKernel.php` poner poner...

```
	$bundles = array(
	...
	new Didweb\Bundle\ResizeBundle\DidwebResizeBundle(),
	....
	);

```

Dentro de `app/config/config.yml` poner la siguiente linea dentro de `imports` ...

```
imports:
    - { resource: "@DidwebResizeBundle/Resources/config/services.yml" }
```

Configurar
----------

[](#configurar)

Para configurar se ponen los siguientes parametros dentro de `app/config/config.yml` ...

```
didweb_resize:
    img_ancho_p: 240
    img_alto_p: 196
    img_ancho_g: 1024
    img_alto_g: 768
    img_directorio: %kernel.root_dir%/../web/fotos
```

### Detalles de configuración

[](#detalles-de-configuración)

En los parametros colocados en `app/config/config.yml` se especificán el ancho y alto tanto de la imagen tamaño grande como el tamaño pequeño, asi como el directorio del destino de las imágenes.

Los parametros `img_ancho_p` y `img_alto_p` hacen referencia al ancho y alto del tamaño pequeño en pixeles.

Los parametros `img_ancho_g` y `img_alto_g` hacen referencia al ancho y alto del tamaño grande en pixeles.

El parametro `img_directorio` se ha de especificar el destino de las imágenes modifica "fotos" por el nombre de carpeta que quieras.

### Configurar directorio

[](#configurar-directorio)

Crear un directorio en este caso hemos puesto "fotos" y dentro de él se crean 2 directorios más, uno llamado `p` y otro `g`, son los directorios finales de las imágenes. En `p` se almacenaran las imágenes de tamaño pequeño y en `g` las de tamaño grande.

Ejemplo de uso
--------------

[](#ejemplo-de-uso)

Dentro del código en el lugar que quieras realizar la subida de archivo colocar esto ...

Subir Imagen:

```
      $resize = $this->get('didweb_resize.acciones');
      $resize->upload($nombreArchivo,$entity->getFile());
```

... donde `$nombreArchivo` es el nombre de archivo qu queremos poner y `$entity->getFile()` es el archivo subido mediante el formulario.

Modificar nombre de imagen:

```
 	$resize = $this->get('didweb_resize.acciones');
	$resize->CambioNombreImg($nombreViejo,$nombreNuevo);
```

... donde `$nombreViejo` es el nombre que tenia antes la imagen y `$nombreNuevo` es el nombre nuevo de la imagen.

Ejemplo completo para subir una imagen:

Dentro de tu controlador ....

```

    public function createAction(Request $request)
    {
        $entity = new Imagen();
        $form = $this->createCreateForm($entity);
        $form->handleRequest($request);

        if ($form->isValid()) {
            $em = $this->getDoctrine()->getManager();

            $entity->setSlug($entity->getNombre().'-'.rand(0,99999));
            $entity->setExtension();

            $em->persist($entity);
            $em->flush();

			      $resize = $this->get('didweb_resize.acciones');
            $resize->upload($entity->getSlug().'.'.$entity->getExtension(),$entity->getFile());

            return $this->redirect($this->generateUrl('imagen_show', array('id' => $entity->getId())));
        }

        return array(
            'entity' => $entity,
            'form'   => $form->createView(),
        );
    }
```

...un ejemplo de entidad Imagen ....

```
