CakePHP - / la liste des fichiers dans un dossier de recherche


1 Estrelas2 Estrelas3 Estrelas4 Estrelas5 Estrelas (9 votes, moyenne: 4.56 sur 5)
Loading ... Chargement en cours ...

Bonjour les gars, cette semaine, j'ai besoin de trouver des fichiers PNG dans un dossier. Comment puis-je utiliser CakePHP pour ce projet, j'ai utilisé la lib dossier (cliquez pour voir la documentation de la classe).

C'est super simple, mais vaut la pointe.

Le contrôleur de faire ce qui suit:

  1. <?
  2. AppController { classe ControladorController extends AppController (
  3. Function MyFunction () (
  4. ===- # Instanciation de la classe et passez le chemin en tant que paramètre
  5. Folder ( 'img/home/' ) ; $ Dossier Nouveau dossier = ("img / home / ');
  6. # ===- Joignez-vous à la méthode find () de la classe le dossier et passer un regex pour chercher dans les archives
  7. -> find ( ".* \. png" ) ; Files = $ - dossier> $ find (".* \. Png");
  8. # ===- Sept variable à utiliser comme vous le souhaitez dans la vue
  9. ( 'arquivos' , $arquivos ) ; $ This-> set - ('fichiers', le fichier $);
  10. )
  11. )
  12. ?>

Comme vous pouvez le voir, la méthode find () "cale" expression régulière comme un paramètre. Par défaut, le paramètre est'.*', dire n'importe quel caractère dans n'importe quelle quantité.

Dans mon cas, j'ai utilisé les expressions régulières suivantes: '.* \. Png. Je veux dire que les noms de fichiers qui commencent par quoi que ce soit et avec n'importe quel nombre de caractères (.*) et se terminant par. Png (\. PNG). Puis il va se marier à ceci: asdfasdfsfsfa.png ou alors: teste123.png ou alors: _teste_.png ou alors: une autre teste.png. Il ignore tout fichier qui ne se termine pas par '. Png.

Si vous utilisez seulement $ dossier-> find (), tous les fichiers dans le dossier sont répertoriés.

Cette méthode renvoie un tableau avec les fichiers trouvés.

J'espère avoir aidé, tout juste après.

CakePHP - Comment utiliser le nom de la table avec les non standard


1 Estrelas2 Estrelas3 Estrelas4 Estrelas5 Estrelas (5 votes, moyenne: 5,00 sur 5)
Loading ... Chargement en cours ...

Eh bien, tout le monde sait que la création d'un contrôleur dans CakePHP, vous devez créer la table dans la base de données nommée au pluriel. C'est très facile, mais, depuis que je suis tombé sur un pilote qui est appelé «par défaut» ... alors le gâteau espère que le nom est «le droit des options? Faux! Le «dictionnaire» de Ceke Cake est l'anglais alors que mettrait le nom de table comme «option».

Une autre situation qui puisse arriver est que vous obtenez un site / système de reprogrammer avec Ceke Cakemas ne peut pas perdre les données de la base de données ... Souvent, la banque est déjà structuré ADDO et les noms non-standard que le gâteau attend.

Pour cela, il ya une solution très simple. Nous allons utiliser l'attribut $ useTable et mettre le nom de la table. Voir l'exemple ci-dessous:

  1. <?
  2. AppModel { Option classe étend AppModel (
  3. = "Opcao" ; var $ name = "Option";
  4. = "opcoes" ; var $ useTable = "options";
  5. )
  6. ?>

Là vous allez, ce qui rend ce problème, la j'ai eu a été résolu. Si la clé primaire de table est différent de celui de la 'id', utiliser l'attribut $ primaryKey, mettre le nom du champ.

J'espère que j'ai aidé, câlins!

Get Adobe Flash player Plugin par wpburn.com thèmes wordpress