Inviato da Marcelo Sabadini in
14/11/2008
CakePHP - Trova / elencare i file in una cartella
Ciao ragazzi, questa settimana ho dovuto cercare i file PNG in una cartella. Come si usa CakePHP in questo progetto, ho usato la lib cartella (clicca per vedere la documentazione relativa alla classe).
E 'super semplice, ma è punta.
Il controller eseguire le seguenti operazioni:
- <?
- AppController { ControladorController classe estende AppController {
- funzione myFunction () {
- ===- # Creare un'istanza della classe e passare il percorso come un parametro
- Folder ( 'img/home/' ) ; $ Cartella = Cartella nuova ('img / home /');
- Accesso ===- # metodo find () della classe Folder e passare una regex per cercare negli archivi
- -> find ( ".* \. png" ) ; $ File = $ cartella -> find (".* \ Png.");
- # Sette ===- la variabile da utilizzare come si desidera in vista
- ( 'arquivos' , $arquivos ) ; $ Questo - insieme> ('file', $ file);
- }
- }
- ?>
Come potete vedere, il metodo find () 'aspettare' espressione regolare come parametro. Per impostazione predefinita, il parametro è'.*', cioè, qualsiasi carattere in qualsiasi quantità.
Nel mio caso, ho usato la seguente espressione regolare: '. .* \ Png'. Questo significa che voglio i nomi di file che iniziano con nulla e con qualsiasi numero di caratteri (.*) e termina con. Png (\. Png). Allora si sposerà questo: asdfasdfsfsfa.png o questo: o questo teste123.png: _teste_.png o questo: teste.png un altro. Ignorerà qualsiasi file che non finisce con. 'Png'.
Se si utilizza solo $ cartella-> find (), tutti i file della cartella sono elencati.
Questo metodo restituisce un array con i file trovati.
Spero di aver aiutato, qualsiasi cosa posta.
Inviato da Marcelo Sabadini in
2008/04/10
CakePHP - Utilizzo nome della tabella con i non-standard
Ebbene, tutti sanno che per creare un controller in CakePHP è necessario creare la tabella nel database denominato al plurale. Questo è molto facile, ma da quando mi sono imbattuto in un driver che si chiama 'default' ... presto, Torta si aspetta che il nome sia giusto 'opzioni'? Sbagliato! il 'dizionario' di Ceke Torta è l'inglese, in modo che avrebbe messo il nome della tabella come 'opzione'.
Un'altra situazione che può capitare è di avere un sito / sistema per riprogrammare il Ceke Cakemas non può perdere i dati dal database ... Molte volte la ADDO banca è già nomi strutturati e non-standard che si aspetta Cake.
Per questo, c'è una soluzione molto semplice. Useremo il $ attributo useTable e mettere il nome della tabella. Vedere l'esempio seguente:
- <?
- AppModel { Opzione classe estende AppModel {
- = "Opcao" ; var $ nome = "opzione";
- = "opcoes" ; useTable $ var = "opzioni";
- }
- ?>
Ci si va, rendendo questo il problema che ho avuto è stato risolto. Se la chiave primaria della tabella è diverso da 'id', utilizzare l'attributo $ primaryKey, mettendo il nome del campo.
Spero di aver aiutato, abbracci!


