Pues resulta que es extremadamente sencillo de utilizar y funciona
estupendamente, lástima que el artículo de Bakery sea (en mi opinión)
francamente malo intentando explicarlo.

El proceso para utlizarlo es tan sencillo como copiar el behaviour
(CakePHP >= 1.2) en la carpeta /app/models/behaviours o en /cake/libs/
model/behaviours e incluir un fragmento como este en el modelo que
necesita subir ficheros:

    var $actsAs = array('Upload' => array(
                                'foto1' => array(
                                                'dir' => 'files/images',
                                                'overwrite_existing' => false,
                                                'create_directory' => true,
                                                'allowed_mime' => 
array('image/jpeg', 'image/pjpeg', 'image/
gif', 'image/png'),
                                                'allowed_ext' => array('.jpg', 
'.jpeg', '.png', '.gif'),
                                                'thumbsizes' => array(
                                                        'small'     =>  
array('width'=>100, 'height'=>100),
                                                        'medium' =>     
array('width'=>400, 'height'=>300)
                                                )
                                ),
                                'foto2' => array(
                                                'dir' => 'files/images',
                                                'overwrite_existing' => false,
                                                'create_directory' => true,
                                                'allowed_mime' => 
array('image/jpeg', 'image/pjpeg', 'image/
gif', 'image/png'),
                                                'allowed_ext' => array('.jpg', 
'.jpeg', '.png', '.gif'),
                                                'thumbsizes' => array(
                                                        'small' =>      
array('width'=>100, 'height'=>100),
                                                        'medium'   =>   
array('width'=>400, 'height'=>300)
                                                )
                                ),
/* ... */
                        )
        );

Donde "foto1" y "foto2" son los nombres de los campos del modelo en
los que se va a almacenar el nombre del fichero subido. Con
'Thumbsizes' hemos especificado los tamaños de thumb que se generarán
automáticamente, y sólo tenemos que preocuparnos de que el directorio
de subida tenga permiso de escritura para el servidor web (775 en
Unix).

En la vista en la que queremos subir los ficheros indicamos los campos
de formulario (que deben ser 'enctype="multipart/form-data"') en la
forma $form->file('Modelo.campo') y listo.

Una maravilla, oiga.

On 29 jun, 13:44, Gorka <[EMAIL PROTECTED]> wrote:
> He visto uploadbehaviour en Bakery, pero no acabo de entender cómo
> funciona. ¿Después de crear la tabla de uploads en la BBDD se añade el
> behaviour a cualquier modelo que tengamos (por ejemplo, artículos) y
> listo para admitir imágenes en ese modelo? ¿Admite varias imágenes?
> Porque no veo cómo relaciona el artículo con las imágenes... no acabo
> de coger el asunto, y el caso es que vendría genial algo así. Si lo
> has probado, ¿podrías comentarlo?
>
> On 27 jun, 13:26, dardosordi <[EMAIL PROTECTED]> wrote:
>
>
>
> > De todos modos en 1.2 puedes probar el uploadbehaviour (cuando tengas
> > claros los conceptos y entiendas como subir un archivo por ti mismo)
> > que es una maravilla.
>
> > On 26 jun, 08:09, lloku <[EMAIL PROTECTED]> wrote:
>
> > > Tienes un post un poco mas 
> > > abajo:http://groups.google.com/group/CakePHP-es/browse_thread/thread/b07d26...
>
> > > En el que Carlos Z. le explica a otro usuario de una manera bastante
> > > correcta la funcion que debe añadir en el controlador para guardar una
> > > imagen... Este método no tiene nada que ver con el conocimiento de
> > > cake, sino con el de PHP...
>
> > > Como apuntes por si desconoces del todo el tema, el formulario con el
> > > que envías la imágen debe ser: ENCTYPE='multipart/form-data' para
> > > poder envíar ficheros. Lo que se hace, lógicamente, no es "guardar una
> > > imagen en una base de datos", sino guardar un archivo en el servidor y
> > > guardar el nombre de dicho archivo en un campo de la tabla creado para
> > > tal efecto.
>
> > > Quizás te interese depurar un poco la función, filtrando los mime type
> > > para asegurarte de que lo que te envían es una imagen (propiedad
> > > [type]) y asegurarnos de que no existe ya un archivo con ese nombre, y
> > > si es así cambiarlo.
>
> > > Todo esto lo encontraras en manuales de php, si mal no recuerdo en el
> > > manual oficial de PHP hay un apartado dedicado al manejo de archivos,
> > > ahí encontraras la información necesaria y ejemplos.
>
> > > Saludos.- Ocultar texto de la cita -
>
> > - Mostrar texto de la cita -- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -


--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a