Geschrieben von Marcelo auf Sabadini
14/11/2008
CakePHP - Suchen / Liste Dateien in einem Ordner
Hallo Jungs, diese Woche zu gehen und schauen PNG-Dateien in einem Ordner. Wie kann ich CakePHP verwenden in diesem Projekt, habe ich die lib -Ordner (klicken, um die Klassen-Dokumentation zu sehen).
Es ist super einfach, aber lohnt sich der Spitze.
In der Steuerung wie folgt vor:
- <?
- AppController { ControladorController Klasse erweitert AppController {
- Funktion myFunction () {
- # === - Die Klasse instanziieren und übergeben Sie den Pfad als Parameter
- Folder ( 'img/home/' ) ; $ Folder = new Folder ('img / home /');
- # === - Der find () Methode der Ordner-Klasse gehen und passieren einen Regex um Dateien zu finden
- -> find ( ".* \. png" ) ; $ Files = $ Ordner -> zu finden ("* \ PNG..");
- # === - Sieben Variable verwenden, wie Sie im Hinblick auf Wunsch
- ( 'arquivos' , $arquivos ) ; $ This -> set ('Dateien', $ file);
- }
- }
- ?>
Wie Sie sehen können, finden die Methode () 'erwarten' einen regulären Ausdruck als Parameter. Standardmäßig ist der Parameter. '*', Dh ein beliebiges Zeichen in beliebiger Menge.
In meinem Fall habe ich die folgenden regex '. * \. Png'. Ich meine, dass die Dateinamen, die mit nichts und beliebig viele Zeichen (*.) Und endend mit. Png (\. Png) zu beginnen. Dann wird er heiraten dies: asdfasdfsfsfa.png oder so: oder diese teste123.png: _teste_.png oder so: ein weiterer teste.png. Es ignoriert jede Datei, die nicht mit '. Png' endet.
Wenn Sie nur $ verwenden Ordner-> find (), werden alle Dateien in dem Ordner aufgelistet.
Diese Methode gibt ein Array mit den Dateien gefunden.
Danke, einfach posten nichts.
Geschrieben von Marcelo auf Sabadini
2008.04.10
CakePHP - Wie der Name der Tabelle mit Nicht-Standard verwenden
Nun weiß jeder, dass ein Controller in CakePHP, müssen Sie die Tabelle in der Datenbank im Plural benannt erstellen können. Dies ist sehr einfach, aber, da ich über einen Treiber, der als 'default' ist gekommen ... bald erwartet Kuchen der Name zu sein 'Optionen' rechts? Falsch! das "Wörterbuch" der Ceke Cake ist Englisch, musste dann den Namen der Tabelle als "opcaos 'setzen.
Eine andere Situation, was passieren kann ist, erhalten Sie einen Ort / system auf die neu zu programmieren Ceke Cakemas nicht verlieren kann, die Daten aus der Datenbank ... Viele Male die Bank addos ist bereits strukturierte und Nicht-Standard-Namen, dass Cake erwartet.
Dazu gibt es eine sehr einfache Lösung. Wir werden das Attribut $ useTable und setzen Sie den Namen der Tabelle. Siehe Beispiel unten:
- <?
- AppModel { Klasse Option erweitert AppModel {
- = "Opcao" ; var $ name = "Option";
- = "opcoes" ; var $ useTable = "Optionen";
- }
- ?>
Dort gehen Sie, dass dies das Problem war ich entschlossen hatte. Wenn der Primärschlüssel der Tabelle Schlüssel unterscheidet sich von 'id', verwenden Sie das Attribut $ primaryKey, Putting den Namen des Feldes.
Vielen Dank, Umarmungen!


