CRUD con immagini!!!

Ho realizzato un model associato ad una tabella DB e con gii ho creato il CRUD in cui l’utente può inserire tra i campi un immagine, vorrei che il file sia caricato in una directory del server con delle dimensioni prestabilite e con il nome scelto dall’utente.

problema 1

quando devo richiamare la funzionalità di update, nella view il file non viene caricato nel form è come se non ci fosse!!!

problema 2

Se cancello il record il file non viene rimosso dal server!

problema 3

Come posso creare un Thumb dell’immagine caricata?

ci sono Nmila estensioni che gestiscono il caricamento di immagini, comunque assicurati che il form che stai usando per caricare il file abbia l’enctype corretto, altrimenti non funzionerà mai :P

per cancellare i file dal server ovviamente devi usare unlink nel controller, per creare la thumb usa la gd library di php

1 - tutto normale il INPUT type=file non puo essere caricato col nome del file… io uso di fare un echo del nome del file sopra o sotto il input cosi che l’utente puo vedere il nome del file gia caricato…

2 - cancelare un record dal database e cancelare un file dal filesystem sono due operazioni diverse… percio basta fare un unlink() del file subito doppo il cancello del record…

3 - cerca le estensioni di yii - chiave "thumb"… una di loro - http://www.yiiframew…on/easyphpthumb

ok ho visionato tra le Extensions ed è vero ce ne sono molte… secondo voi la migliore per caricare immagini con resize e thumb qual’è?

ognuna da implementazioni leggermente diverse, ti direi di guardartele un pò tutte e scegliere quella che trovi più semplice da implementare o che fa più al caso tuo per funzioni e altro

quella linkata da mdomba ad esempio va benissimo

Da ex programmatore con Kohana Framework, non posso che consigliarti il porting diretto:

http://www.yiiframework.com/extension/image

image ha qualche problema con php 5.1.2 (ma si può risolvere facilmente). E’ l’unica estensione che ho usato sino a questo momento. Il ridimensionamento lo fa lei. E’ molto fantastica. Molto!