2009-04-06 8 views
0

est-il un problème avec certaines versions de PHP et les noms de fichiers qui ressemblent à ceci:PHP include des fichiers avec des périodes dans le nom de fichier

report.class.php 

J'ai essayé d'utiliser un seul et il a échoué une fois travaillé une fois, mais je ne peut pas répliquer l'échec. Donc, je ne suis pas sûr exactement de la cause, préférez utiliser les noms de fichiers séparés par des périodes, mais je préférerais fortement ne pas utiliser de noms de fichiers "fragiles" sur mon site.

Répondre

7

Les noms de fichiers avec plusieurs périodes dans eux fonctionnent très bien dans les includes PHP. J'aimerais pouvoir vous aider davantage, mais comme vous ne pouvez pas reproduire l'échec, je peux seulement vous assurer que ce n'est pas le nom de fichier.

Pensez à nommer vos classes dans le modèle class.xxx.php à la place. Ils seront alphabétisés ensemble de cette façon.

4

Vous souvenez-vous de citer votre nom de fichier?

par exemple, il devrait être:

include 'report.class.php'; 

pas

include report.class.php; 

Dans ce dernier cas, l'absence de causes citant PHP pour interpréter les chaînes comme constantes, ne parviennent ensuite avec un E_NOTICE et Supposons que vous ayez l'intention d'utiliser des littéraux de chaîne. Les périodes seront interprétées comme des opérateurs de concaténation de chaîne, et PHP va finir par interpréter votre commande comme équivalent à ce qui suit:

include 'reportclassphp'; 

Si cela est, en fait, ce qui est arrivé, alors assurez-vous de convertir les erreurs de niveau PHP AVIS et faites attention à eux. Bien que les erreurs de niveau AVIS puissent sembler désagréables, la plupart du temps, elles peuvent indiquer des problèmes de logique dans votre code.

+0

Je suppose que c'est ce qui s'est passé: je me suis enseigné PHP, et j'ai fait des erreurs assez élémentaires en cours de route. Merci! – ehdv

Questions connexes