Syntaxe du nom de fichier non reconnu par is_file()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Syntaxe du nom de fichier non reconnu par is_file()

Re: Syntaxe du nom de fichier non reconnu par is_file()

par ynx » 24 oct. 2014, 14:28

J'avais remarqué ce phénomène sur une ancienne application développée en php4 qui utilisait des chaines de caractères en tant que clés de tableau mais sans quotes : $tableau[cle]
Nous avions alors la notice suivante :
Notice: Use of undefined constant cle - assumed 'cle' in ...

Néanmoins, je ne trouve aucune explication à ce comportement dans la doc (ni le fait que ce comportement ai été modifié sur les nouvelles versions de php) hormis ce commentaire : http://php.net/manual/en/language.constants.php#76304

Re: Syntaxe du nom de fichier non reconnu par is_file()

par Mazarini » 24 oct. 2014, 09:15

j'ai essayé de faire echo b; sur une debian, ca m'a afficher un message comme quoi la constante n'était pas défini puis ca a affiché b quand même.
(j'ai juste passé display_error à On dans php.ini pour avoir le message d'erreur affiché sinon ca marche sans problème)

Re: Syntaxe du nom de fichier non reconnu par is_file()

par sirakawa » 23 oct. 2014, 14:57

Pour moi j'évite dans les noms de dossiers et de fichiers le signe moins et l'espace que je remplace par le souligné:
oui va..txt devient oui_va.txt
oui-va..txt devient oui_va.txt
Et jamais un chiffre au début.

Re: Syntaxe du nom de fichier non reconnu par is_file()

par ynx » 23 oct. 2014, 14:38

Sur php 5.3, j'ai un joli PHP Parse error : syntax error, unexpected T_STRING

Le fait qu'une constante non définie prend pour valeur le nom de cette constante dépend d'une version spécifique de php ou d'une configuration ?

Re: Syntaxe du nom de fichier non reconnu par is_file()

par Mazarini » 23 oct. 2014, 14:01

...
Je suppose que les guillemets étaient présents sinon le retour n'aurait pas été false mais une erreur de syntaxe.
...
Pas forcément. PHP faut le calcul avec les "-" puis concatène avec le ".". "jpg" est considéré comme une constante et comme elle n'existe pas, elle prend la valeur "jpg".

C'est dommage de ne pas utiliser error_reporting(E_ALL), ca indique les constantes non définie et les erreurs fautes de frappe.

Re: Syntaxe du nom de fichier non reconnu par is_file()

par ynx » 23 oct. 2014, 12:44

Salut,

Je suppose que les guillemets étaient présents sinon le retour n'aurait pas été false mais une erreur de syntaxe.

Il faut penser à mettre le chemin (relatif ou absolu) vers ce fichier si celui-ci n'est pas dans même dossier que le script php.

Bonne journée

Re: Syntaxe du nom de fichier non reconnu par is_file()

par dix2 » 23 oct. 2014, 10:21

Bonjour,

Avec des guillemets, c'est mieux =D> #-o :lol:
is_file('16010101-010000-1.jpg');
@+
dix2

Syntaxe du nom de fichier non reconnu par is_file()

par zakuli » 23 oct. 2014, 08:19

Bonjour,

Savez vous pourquoi

Code : Tout sélectionner

is_file(16010101-010000-1.jpg);
me renvoie un

Code : Tout sélectionner

false
?

Merci