Page 1 sur 1
Vérifier qu'un fichier existe
Posté : 02 avr. 2006, 13:08
par Daywalker_mso
Bonjour,
J'ai un drôle de souci,lorsque je veux vérifier que mon fichier existe ou non, je procéde de cette facon:
...
if (is_file($chemin.$titre.".php"))//meme chose avec file_exists.
{
echo 'La page "'.$titre.'" existe déjà veuillez saisir un autre nom!';
echo '<fieldset><legend>Erreur</legend><form method="post" name="formulaire_retour" action="form_admin.php">
<input type="submit" value="Précédent" name="boutton"></fieldset>
</form>';
clearstatcache();
}
else ...
Le problème c'est que cette fonction analyse également le contenu du fichier, or ce que je souhaite, c'est que peut importe le contenu du fichier si le nom est le même que ca renvoie a l'utilisateur un message d'erreur.
Comment mettre cela en place svp.
Posté : 02 avr. 2006, 13:12
par jpaul
essaye plutôt la fonction
file_exists().
Posté : 02 avr. 2006, 13:36
par Dgse
Bonjour
Il veut dire comme ca en gros
...
if (file_exists ($chemin.$titre.".php"))
{
echo 'La page "'.$titre.'" existe déjà veuillez saisir un autre nom!';
echo '<fieldset><legend>Erreur</legend><form method="post" name="formulaire_retour" action="form_admin.php">
<input type="submit" value="Précédent" name="boutton"></fieldset>
</form>';
clearstatcache();
}
else ...
@+ Dgse
Posté : 02 avr. 2006, 14:01
par Daywalker_mso
justement ce que viens d'expliquer, avec un ou avec l'autre le probleme reste le meme, il analyse le contenu en meme temps
Posté : 02 avr. 2006, 14:37
par jpaul
justement ce que viens d'expliquer, avec un ou avec l'autre le probleme reste le meme, il analyse le contenu en meme temps
Qu'est ce que tu entends par analyse le contenu ?
Je me rapelle avoir déjà utilisé cette fonction sans problème :
- si le fichier n'existe pas elle renvoie false
- si le fichier existe (même vide) elle renvoie true
Tu as constaté un fonctinnement différent ?
Donne un exemple du contenu qui fait que tu dis que ça change le résultat, si tu veux qu'on comprenne ton problème...
Posté : 02 avr. 2006, 14:57
par Daywalker_mso
C'est simple.
Suite au probleme que j'avais exposer la derniere fois et sur lequel tu m'as aidé, je veux donc vérifier que l'utilisateur ne crée pas des pages en doubles.
Lorsque je crée une page "Bonjour.php", avec comme contenu "hello", il crée la page sans probleme.
Lorsque je crée une page (la meme) "Bonjour.php", avec comme contenu "Salut", il considère que la page n'existe pas et écrit dans la page "Bonjour.php" :"hello Salut"
MAIS, lorsque je tente de créer une page "Bonjour.php", sans mettre de texte à l'intérieur, il me dit que la page existe déjà.
Posté : 02 avr. 2006, 16:03
par jpaul
Hum je pense qu'il faudrait que tu montres l'intégralité de ton code.
Je n'arrive pas à croire qu'il passe dans le else quand le fichier existe déjà alors que tu as mis :
if (file_exists($chemin.$titre.".php"))
{
echo 'La page "'.$titre.'" existe déjà veuillez saisir un autre nom!';
echo '<fieldset><legend>Erreur</legend><form method="post" name="formulaire_retour" action="form_admin.php">
<input type="submit" value="Précédent" name="boutton"></fieldset>
</form>';
clearstatcache();
}
else ...
A mon avis, il y a une autre partie du code qui te joues des tours...
Posté : 02 avr. 2006, 16:06
par unknow
Bonjour
Normalement file_exists () ne s'occupe pas de ce qu'il y a l'interieur du fichier mais juste si le fichier existe ou non
Code : Tout sélectionner
<?php
$filename = '/chemin/jusqu/a/fichier.txt';
if (file_exists($filename)) {
print "Le fichier $filename existe";
} else {
print "Le fichier $filename n'existe pas";
}
?>
@+