Détecter le contenu d'un fichier texte
le 17/02/2008 à 20:35
raphlight
Déconnecté
http://raphlight.free.fr/miniville2/
Bonjour,
j'aierais savoir comment faire pour détecter si un fichier texte est vide ou non.
J'aimerais créé un fichier .php qui s'ouvrira tout seul toutes les heures (grâce à webcron.org).
Ce ficheir php sera chargé de détecter si un fichier .txt est vide. si c'est le cas, il devra insérer dans celui-ci un mot qu j'aurais défini à l'avance dans une variable par exemple.
Ainsi le formulaire ne sera jamais vide plus d'une heure ;)
Mais je ne sais pas comment faire...
merci pour vos futures propositions ;)
le 17/02/2008 à 23:02
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ben un fichier vide possède 0 octet de contenu. Cela peut se vérifier avec un filesize ou bien un strlen.
le 18/02/2008 à 17:09
raphlight
Déconnecté
http://raphlight.free.fr/miniville2/
ca m'écdlaire déjà un peu mais comment utiliser ces fonctions ? aurais-tu un petit exemple ?
le 18/02/2008 à 20:29
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
<?php if ( filesize ( $fichier ) == 0 ) echo 'le fichier est vide' ; ?>
Par exemple.
le 19/02/2008 à 21:46
raphlight
Déconnecté
http://raphlight.free.fr/miniville2/
Imaginon donc, je met ceci ?
<?php
if ( filesize ( lien . txt ) == 0 ) echo 'Test' ; ?>
Si oui, voici ce que j'obtiens :
Warning: filesize() [function.filesize]: Stat failed for lientxt (errno=2 - No such file or directory) in /mnt/109/sdb/8/1/raphlight/miniville2/2test.php on line 51
remplacement
comme si le point n'avait pas été pris en compte...
le 19/02/2008 à 23:38
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
<?php if ( filesize ( 'lien.txt' ) == 0 ) echo 'Test' ; ?>
(filesize prend une chaine de caractère en paramètre et non deux constantes PHP concaténées : faut lire la doc
)
le 21/02/2008 à 23:30
raphlight
Déconnecté
http://raphlight.free.fr/miniville2/
OK, je ne savais pas :)
J'ai fait plusieurs essai pour que dès que ce ficheir est détecté comme vide, le mot "remplace" soit inscrit dedans mais ca ne fonctionne pas...
Voici mon code :
<?php
if ( filesize ( 'lien.txt' ) == 0 ) { $fp = fopen ( 'lien.txt' , 'w' ) ; fseek ( $fp , 0 ) ; $nom_lien = remplace ; fputs ( $fp , $nom_lien ) ; fclose ( $fp ) ; } ?>
Qu'est ce qui ne va pas ?
le 21/02/2008 à 23:38
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ce qui ne va pas, c'est que tu utilises (probablement sans le savoir) une constante que tu n'as surement pas du déclarer : la constante "remplace".
Honnêtement, relis les cours de base du site, sinon, on ne va pas s'en sortir. Surtout sur les chaines de caractères et le typage.
le 22/02/2008 à 08:44
raphlight
Déconnecté
http://raphlight.free.fr/miniville2/
oups :S
euh...qu'est ce que le "typage" ?
Pour mon détectage de fichier ca marche parfaitement (j'ai simplement remplacé "remplace" par un autre mot :-) )
Merci beaucoup la globule :-D
le 22/02/2008 à 16:25
Keika
Déconnecté
Le PHP --> C'est dur !
Ton probleme vient de la:
$nom_lien = remplace;
Verifie bien dans les cours comment faire pour inserer une chaine de caracteres dans une variable...
Accès rapide :
PHP / MySQL
HTML / CSS
Javascript
Autres technologies
Le site
Les 3H du PHP
Le bar
Script / Production personnelle
Remonter