TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
| Page : 1 | |||
| Pseudo | Commentaire | ||
|---|---|---|---|
| Page : 1 | |||
Bilbax
|
# Posté le 26/04/2008 à 04:19:05 - Ce membre n'a pas mis de note | ||
www.bilbax.eu![]() Groupe : Membres |
parse_ini_file()
|
||
Kyle Katarn
|
# Posté le 26/04/2008 à 11:32:42 - Ce membre n'a pas mis de note | ||
|
Star Wars fan Groupe : Membres |
Merci de lire entièrement les tutos avant de les commenter aussi bêtement qu'en me reprochant de ne pas parler d'une fonction dont je parle justement. Citation : KyleKatarn (ce tuto) J'en profite pour vous parler de la fonction parse_ini_file() qui fait cette opération que je vous conseille de ne pas utiliser, car elle ne récupère pas l'intégralité d'un item, si il trouve le signe '=' dans une valeur, la fonction ne renverra que ce qu'il y a avant. Cela est rarement un avantage et si jamais vous vouliez uniquement récupérer ce qu'il y a avant le premier = d'une valeur, il y a un moyen simple de le faire :
KyleK |
||
anonymousguest
|
# Posté le 12/05/2008 à 00:34:25 - Ce membre n'a pas mis de note | ||
I'm the Dude![]() Groupe : Membres |
Salut, si je mets : « test = "hello=world" » dans un fichier ini et que je le parse avec parse_ini_file() ça fonctionne correctement... Le seul inconvénient de parse_ini_file() c'est qu'on ne peut pas (du moins à ma connaissance) échapper les « " ». Personnellement, j'utilise parse_ini_file() et pour les guillemets droits, je mets " (entité html correspondante) à la place et je remplace avec un str_replace(). EDIT : Je rajoute que d'après ce que j'en ai vu (j'ai regardé vite fait, dis-moi si je me trompe) le code que tu proposes ne gère pas les valeurs sur plusieurs lignes, utilise des regex en masse (et inutilement) dans ta boucle et les commentaires après les valeurs sont considérés comme faisant partie de la valeur. En conclusion, vive parse_ini_file() .
|
||
Aztek
|
# Posté le 12/05/2008 à 12:35:23 - Ce membre a mis la note : 14 | ||
blablabla![]() Groupe : Membres |
J'allais dire la même chose... http://php.fr/doku.php/php.fr/function [...] ini-file.html Pourquoi se compliquer la vie et celle des zéros ? Tente de préciser que cette fonction existe dès l'introduction ! Les chats retombent-ils toujours sur leur pattes ? Selon l'association américaine des vétérinaires : sur 22 chats tombés d'une hauteur supérieure à 7 étages (environ 25m), un seul est mort sur le coup, 20 ont été blessés par leur chute (principalement à l'abdomen), dont 1/3 de lésions graves et 1/3 de lésions sérieuses... (Quid 1991. page 209b) |
||
samuel2202
|
# Posté le 12/05/2008 à 12:54:26 - Ce membre n'a pas mis de note | ||
<? echo 'PHP for ever'; ?>![]() Groupe : Membres |
Et pour écrire dans ce ini, vous faites comment ? Moi je trouve ce tuto assez intéressant... Cependant ce qui m'a choquer c'est l'utilisation de REGEX pour par exemple les commentaires... Faut pas déconner, ça prend beaucoup plus de ressources qu'un "substr" par exemple. Code : PHP
|
||
anonymousguest
|
# Posté le 12/05/2008 à 19:15:15 - Ce membre n'a pas mis de note | ||
I'm the Dude![]() Groupe : Membres |
Les fichiers ini sont très intéressants mais la moitié de ce tuto explique comment récupérer leur contenu avec des regex bien lourdes alors qu'une fonction native existe en php, en plus cette fonction est très rapide (dans certains cas, ça va même plus vite qu'un fichier php contenant la même chose sous la forme d'un array grâce à la simplicité de la syntaxe). Personnellement, j'utilise les fichiers ini principalement pour des données statiques (le texte dans les différentes langues par exemple). Donc, j'écris les fichiers manuellement. Mais pour ça, le code du tuto a l'air potable (quoiqu'il ne prend pas en compte les variables qui ne sont pas contenues dans une section, alors que les sections sont facultatives). Plutôt que substr($ligne, 0, 1), tu pourrais même te limiter à $ligne[0] mais c'est trop simple comme définition d'un commentaire, il ne faut pas oublier d'enlever les espaces avant et il faudrait prendre en compte les commentaires après une valeur. |
||
Kyle Katarn
|
# Posté le 12/05/2008 à 19:59:33 - Ce membre n'a pas mis de note | ||
|
Star Wars fan Groupe : Membres |
Bon, je connaissais parse_ini_file avant d'écrire ce tuto ! Si vous le lisez entièrement vous vous en rendrez compte, je revalide ce tuto avec des explications plus précises sur les raisons que j'ai de laisser cette fonction de côté. Justement pour les commentaires après valeur, il est préférable dans le cas d'un stockage de texte long de considérer le point-virgule comme un caractère normal, ce que ne fait pas parse_ini_file. Ensuite la class ini qui termine le tuto peut être modifiée à volonté pour créer dans chaque utilisation différente un langage adapté (voir la prochaine mise à jour en cours de validation). Remarquez que je propose en commentaire le parse_ini_file dans tous les codes qui concernent la récupération car, en effet, c'est une fonction pratique et intelligente mais qui se limite à un usage précis et qui a dans ce tuto "général" sur l'enregistrement de données par fichier a la place qu'elle mérite. PS: j'ai remplacé les regex par une seule plus appropriée pour les groupes et par $ligne{0}!=';' pour info, $ligne[0] ne s'utilise plus en PHP 5 (cf Doc) KyleK |
||
anonymousguest
|
# Posté le 12/05/2008 à 22:25:00 - Ce membre n'a pas mis de note | ||
I'm the Dude![]() Groupe : Membres |
Les valeurs qui contiennent des ";" sont des chaînes et les chaînes doivent être entourées de guillemets droits ('"'). Bien entendu, à l'intérieur de ces guillemets, les ";" ne sont pas considérés comme le début d'un commentaire et les retours à la ligne ne sont pas considérés comme la fin de la valeur (pratique pour les longs textes), contrairement à ce que tu fais. Perdu, c'est $ligne{0} qui ne s'utilisera plus en PHP6 (cf. doc toi-même )
|
||
Kyle Katarn
|
# Posté le 12/05/2008 à 22:31:22 - Ce membre n'a pas mis de note | ||
|
Star Wars fan Groupe : Membres |
Merci de l'info, c'est pourtant cette page que j'avais lu et j'étais persuadé du contraire.
KyleK |
||
Lo-X
|
# Posté le 04/07/2008 à 17:11:38 - Ce membre a mis la note : 18 | ||
![]() Groupe : Membres |
Après avoir eu vraiment du mal, j'ai adapté ce système un peu à ma manière (en fait, sans respecter la syntaxe d'un ini) mais en gardant la fonctionnalité de base. J'ai relu le tuto, pas mal de choses ont été corrigées, peut-être que je suis moins un zéro que la dernière fois aussi, et à présent j'adore ce système et j'arrive à me passer plus volontiers de ma base de donnée. Je tiens à te féliciter pour le temps que tu as passé à rédiger, puis rectifier par ci par là certaines choses, ça mérite une bonne note
|
||
Zakmaf
|
# Posté le 20/10/2008 à 12:58:34 - Ce membre a mis la note : 14 | ||
![]() Groupe : Membres |
Beau tuto, mais à la place de file_exists()
je te conseille quand même is_file()
c'est beaucoup mieux niveau consomation de ressources. En règle générale, c'est quand même un très bon tuto malgré certaines fonctions utilisées que je trouve déplacée ou injustifiée. |
||
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news
Édité par Simple IT SARL :
Nous contacter
| Notre blog | Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
68 Zéros connectés |
8 requêtes |
0.1564s (0.1442s)
