Salut !

Cela fait maintenant quelques années que je travaille avec PHP et j'ai bien sûr l'habiture d'utiliser la méthode suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$link = mysql_connect(...) or die('Impossible de se connecter au serveur MySQL');
Aujourd'hui j'ai fais quelques tests sur la lecture de fichier avec un ami, et je me suis posé une question en utilisant la fonction file() (récupère le contenu d'un fichier sous forme de tableau).
Celle-ci lance une erreur lorsque le fichier lu n'existe pas sur le serveur.

J'avais donc commencé à faire ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$log_file = @file('fichier_de_log.log') or die(...);
Puis j'ai eu l'idée d'écrire ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
$log_file = @file('fichier_de_log.log') or $log_file = array();
 
if (count($log_file) > 0) {
     [TRAITEMENT]
}
Derrière cela j'ai une boucle foreach() qui me permet de traverser le contenu du fichier.
L'idée est donc que, lorsque je vérifie la taille du tableau (count), j'affiche une erreur si le tableau est vide.
La ligne du "or" me permet donc de définir un tableau vide si le fichier est inexistant, ce qui affichera donc l'erreur par la suite.

J'ai testé le code, et ce dernier fonctionne sans afficher d'erreur, mais je me demande quand même cela est normal ?
Peut-on vraiment faire cela et est-ce "propre" ?

Car, si c'est vraiment une technique qui marche, je pourrais être amené à m'en servir assez régulièrement en fin de compte !

Merci d'avance pour vos réponses !