Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/01/2011, 18h27   #1
Provisoirement toléré
 
Inscription : février 2008
Messages : 308
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 308
Points : 66
Points : 66
Par défaut Détecter la modification d'une page

Bonsoir

est ce que c'est possible d'afficher un alert si il'ya un changement au niveau de la contenu de la page web
exemple changement d'un mot dans une page web
comment je peut faire merci


j'ai cette alert
Code :
1
2
3
4
5
<?php
 
echo "<script>alert(\"il 'ya un changement au niveau de la contenu de la page\")</script>";
 
?>
mai je ne sais pas comment je peut faire vérifier ma page si il était changer ou non

merci
rezguiinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 18h40   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Il faudrait
- comparer la date de visite avec la date de modification du fichier.
- enregistrer pour chaque visiteur les pages pour lesquels l'alerte a déjà été fournie (sinon ca deviendra vite agaçant).

C'est toutefois une pratique peu naturelle sur le web.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 18h53   #3
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
bonjour,

ou faire un md5 de la chaine de caractères issue de la lecture de la page ou alors un md5_file
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 19h04   #4
Provisoirement toléré
 
Inscription : février 2008
Messages : 308
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 308
Points : 66
Points : 66
vous pouvez m'aider de trouver un script car j'ai fait des recherche mai je n'arrive pas a trouver une bonne solution
merci'
rezguiinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 20h22   #5
Provisoirement toléré
 
Inscription : février 2008
Messages : 308
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 308
Points : 66
Points : 66
j'ai tester ce code pour ma page face.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<?php
$md5file = md5_file("face.php");
file_put_contents("md5file.txt",$md5file);
?> 
<?php
 
 
$md5file = file_get_contents("md5file.txt");
if (md5_file("face.php") == $md5file)
  {
  echo "The file is ok.";
  }
else
  {
  echo "The file has been changed.";
  }
?>

jai changer dans ma page face.php

Code :
1
2
3
4
5
6
<meta http-equiv="refresh" content="5"/>
<?php
readfile("http://www.facebook.com");
 
tessssssssssst
?>
j'ai ajouter la ligne tessssssst
mai rien changer toujour il m'affiche
rezguiinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 21h29   #6
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Il faut que tu stockes en base de données par exemple, le md5_file() d'un fichier à l'instant t puis que tu compares cette même valeur stockée en base à l'instant t+1 avec le md5_file() régénéré. Si c'est la même valeur, alors les fichiers sont identiques
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 23h18   #7
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
mouaip

ça dépend qui construit la page. Si c'est pas lui c'est une bonne méthode. S'il essaie d'implementer un cache pour son site web c'est pas la bonne méthode. faut qu'il interroge la date de mise a jout des données.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 07h41   #8
Provisoirement toléré
 
Inscription : février 2008
Messages : 308
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 308
Points : 66
Points : 66
Par défaut problème de lecture d'un fichier php

Bonjour

j'ai ce script
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$fichier = "face.php";
if(file_exists($fichier))
{
 
  if(filemtime($fichier))
  {
    echo "Pas de modif depuis la création";
  }
  else
  {
  echo "Le fichier a été modifié depuis la création";
  }
 
}
else {
  echo "Le fichier n'existe pas";
}
?>
si il'ya un changement ou pas dans ma page face .php

toujours ce script m'affiche

Code :
Pas de modif depuis la création
aidez moi de résoudre ce problème
merci
rezguiinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 08h41   #9
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
Bonjour,

filemtime renvoie la date de dernière modification du fichier passé en paramètre.

En testant si la fonction ne retourne pas false, tu ne fais que de tester l'existence du fichier (en gros, c'est comme si tu faisais 2 fois file_exists...)

__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 08h58   #10
Provisoirement toléré
 
Inscription : février 2008
Messages : 308
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 308
Points : 66
Points : 66
Citation:
Envoyé par ska_root Voir le message
Bonjour,

filemtime renvoie la date de dernière modification du fichier passé en paramètre.

En testant si la fonction ne retourne pas false, tu ne fais que de tester l'existence du fichier (en gros, c'est comme si tu faisais 2 fois file_exists...)

alors comment je peut faire sil vous plait
merci d'avance
rezguiinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 09h02   #11
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
et bien cherche un peu quand même...

une piste :

pour comparer 2 valeurs, et bien, justement il en faut 2...
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 09h25   #12
Membre Expert
 
Avatar de riete
 
Homme Thierry
NFC & DevWeb
Inscription : avril 2006
Messages : 1 175
Détails du profil
Informations personnelles :
Nom : Homme Thierry
Âge : 51
Localisation : France

Informations professionnelles :
Activité : NFC & DevWeb
Secteur : Bâtiment

Informations forums :
Inscription : avril 2006
Messages : 1 175
Points : 1 366
Points : 1 366
Juste en passant filemtime
riete est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 09h35   #13
Provisoirement toléré
 
Inscription : février 2008
Messages : 308
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 308
Points : 66
Points : 66
Citation:
Envoyé par riete Voir le message
Juste en passant filemtime
jai tester ce script

Code :
1
2
3
4
5
6
7
8
9
Example #1 filemtime() example
<?php
// outputs e.g.  somefile.txt was last modified: December 29 2002 22:16:23.
 
$filename = 'somefile.txt';
if (file_exists($filename)) {
    echo "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename));
}
?>
mai moi je veux afficher la date de modification que seulement si le ficher a était modifier aidez moi de modifier ce script
merci
rezguiinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 11h40   #14
Provisoirement toléré
 
Inscription : février 2008
Messages : 308
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 308
Points : 66
Points : 66
Citation:
Envoyé par sabotage Voir le message
Il faudrait
- comparer la date de visite avec la date de modification du fichier.
- enregistrer pour chaque visiteur les pages pour lesquels l'alerte a déjà été fournie (sinon ca deviendra vite agaçant).

C'est toutefois une pratique peu naturelle sur le web.
comment je peut afficher la date de visite de ma page face.php
merci d'avance
rezguiinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 11h48   #15
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
comme je le disais auparavant, il faut 2 valeurs pour pouvoir faire une comparaison, donc, la valeur "date de création" et la valeur "date de dernière modification".

La valeur "date de dernière modification", tu l'as en faisant ce que tu faisais (filemtime)

La valeur "date de création n'existe plus si tu modifies le fichier ne serait-ce qu'une seule fois. Il faut donc avoir utiliser la persistance (via une base de donnée ou un fichier texte par exemple) lors de la création de celui-ci.

voilà, avec ça, tu devrais pouvoir avancer un peu...

__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 17h48   #16
Provisoirement toléré
 
Inscription : février 2008
Messages : 308
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 308
Points : 66
Points : 66
Par défaut la fonction filemtime

Bonjour

j'ai cette fonction qui affiche la date de modification d'un fichier

mai comment je peux faire la comparaison avec la date courante
pour vérifier si le fichier était modifier ou non

ou bien s'il y a une autre solution aidez moi
merci
rezguiinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 18h00   #17
Membre Expert
 
Avatar de gwinyam
 
Homme Mathieu ROBIN
Développeur Web
Inscription : mai 2006
Messages : 1 116
Détails du profil
Informations personnelles :
Nom : Homme Mathieu ROBIN
Âge : 25
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mai 2006
Messages : 1 116
Points : 2 142
Points : 2 142
filemtime() te renvoie le timestamp de dernière modification du fichier.

Avec la fonction time(), tu peux avoir le timestamp courant.

Tu fais la différence et tu vérifies le résultat. Même si quoi qu'il arrive, à mon avis, t'auras toujours une différence supérieure à 0 en valeur absolue, parce que filemtime te retourne la dernière date de modification et à moins que tu exécutes ce script de différenciation dans la seconde de l'enregistrement, ça sera toujours supérieur ou égal à une seconde.
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne.
Le bouton ne masse pas les pieds, mais ça aide la communauté.
gwinyam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 18h50   #18
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Hello

Regarde par là, y'a ce que tu cherches: http://www.php.net/manual/en/function.date-diff.php

Code :
1
2
3
4
5
6
7
 
<?php
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%d days');
?>
produit "+2 days"
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h17.


 
 
 
 
Partenaires

Hébergement Web