Fichier distant (http) : date de derniere modification - PHP - Programmation
Marsh Posté le 08-09-2002 à 23:29:20
tu regardes du côté des headers http, tu as 'Last-modified' qui te donne l'info.
ou le ETag qui te donne (je crois) un hash.
ou le 'If-Modified-since' qui te renvoie un 304 (not modified) si le fichier n'a pas changé.
Marsh Posté le 08-09-2002 à 23:53:33
Merci pour ces infos, mais tu peux me donner un exemple de script qui lit un header, par ce que je ne sais pas comment m'y prendre.
merci d'avance.
youdontcare a écrit a écrit : tu regardes du côté des headers http, tu as 'Last-modified' qui te donne l'info. ou le ETag qui te donne (je crois) un hash. ou le 'If-Modified-since' qui te renvoie un 304 (not modified) si le fichier n'a pas changé. |
Marsh Posté le 09-09-2002 à 00:03:22
http://www.php.net/fsockopen
<?php
$fp = fsockopen ("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\nHost: www.example.comrnrn" );
while (!feof($fp)) {
echo fgets ($fp,128);
}
fclose ($fp);
}
?>
ce que tu envoies :
* chaque header est terminé par un retour à la ligne (\r\n)
* pour terminer les headers, double retour à la ligne
ce que tu reçois
* pareil, retour à la ligne
* pareil, double retour
tu essayes le script, tu regardes ce qu'il envoit, tu affiches ce qu'il reçoit, etc.
Marsh Posté le 09-09-2002 à 09:08:32
J'ai testé ce script, mais je n'arrive a le faire marcher correctement: cela ne marche que sur la age d'accueil, je n'arrive pas a faire la requete GET qui convient pour arriver sur le fichier (http://www.lesite.com/rep1/rep2/fic.pdf).
je faist un GET /rep1/rep2/fic.pdf , mais ca ne marche pas...
Quelqu'un peu m'aider?
youdontcare a écrit a écrit : http://www.php.net/fsockopen <?php $fp = fsockopen ("www.example.com", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br>\n"; } else { fputs ($fp, "GET / HTTP/1.0\r\nHost: www.example.comrnrn" ); while (!feof($fp)) { echo fgets ($fp,128); } fclose ($fp); } ?> ce que tu envoies : * chaque header est terminé par un retour à la ligne (\r\n) * pour terminer les headers, double retour à la ligne ce que tu reçois * pareil, retour à la ligne * pareil, double retour tu essayes le script, tu regardes ce qu'il envoit, tu affiches ce qu'il reçoit, etc. |
Marsh Posté le 08-09-2002 à 23:25:33
salut,
Je cherche une méthode pour déterminer la date de derniere modification d'un fichier .pdf distant sur http. Quelqu'un a une idée?
Une autre méthode serait de recupérer le fichier regulierement, et de le comparer avec le fichier n-1 récupéré. OK, mais je n'arrive pas a récupérer correctement le fichier pdf: quand je le stocke en local il n'est pas valide:
Quelqu'un peu m'aider sur l'une des 2 méthodes?
Merci d'avance.
Message édité par yepyep le 08-09-2002 à 23:26:04