[PHP] : Compteur / Lanceur de D/L

: Compteur / Lanceur de D/L [PHP] - Programmation

Marsh Posté le 04-02-2001 à 09:19:30    

Bonjour,
 
J'ai monté mon serveur permanent Xitami/Php4 (sans mySQL) et je voudrais savoir si vous aviez un script php qui permet de "compter" le nombre de fois qu'un utilisateur clicke sur un lien de dl et qui lance le d/l après avoir incrémenté le compteur...
Merci d'avance.

Reply

Marsh Posté le 04-02-2001 à 09:19:30   

Reply

Marsh Posté le 04-02-2001 à 10:56:44    

ben ca doit pas etre trop complexe a faire
 
il faut que kan l'user click tu lis puis sauvegarde le compteurssdans un fichier texte et apres tu declenches le dl... (j'ai deja vu ca quelquepart mais je sais plus ou)
 
pour des exemples de compteurs tu peux voir sur phpfrance ou php-info ou autre, il te restera plus qu'a adapter...
 
a+

Reply

Marsh Posté le 04-02-2001 à 12:17:40    

j'ai fais un chtit script pr ca et apparemment ca marche bien sur mon sitess
 
dc voila :ss
pr le lien vers le fichier tu mets comme url go.php?src=CATEGORIE_DU_FICHIER/NOM_DU_FICHIER
 
et le fichier go.php ca donne :
 
<?
 /* Config MySQL */
 require("../mysql.php" );ss
 
 /* Connexion au serveur MySQL */
 mysql_connect($host,$user,$passwd)
ssor die ("Impossible de se connecter au serveur de base de donnees" );
 mysql_select_db($bdd)
ssor die ("Impossible d'accéder à la base $bdd" );
 
 /* Hits +1 */
 list ($cat, $nom) = split ('[/]', $src);
 $queryss= "SELECT hits FROM downloads WHERE fichier="$nom"ss
ssssss AND categorie="$cat"";
 mysql_query("LOCK TABLES downloads READ" )ss
ssor die ("Hmm. Houston, we have a problem ! :)" );
 $result = mysql_query($query)
ssor die ("Le nbre de hits du lien n'a pu être obtenu" );
 mysql_query("UNLOCK TABLES" )ss
ssor die ("Hmm. Houston, we have a problem ! :)" );
 $rowssss= mysql_fetch_array($result);
 $hitssss= $row["hits"];
 if ($hit) {
ss$hit++;
 } else {
ss$hit = 1;
 }
 $queryss= "UPDATE downloads SET hits="$hit" WHERE fichier="$nom"ss
ssssss AND categorie="$cat"";
 mysql_query("LOCK TABLES downloads WRITE" )ss
ssor die ("Hmm. Houston, we have a problem ! :)" );
 $result = mysql_query($query)
ssor die ("Le nbre de hits du lien n'a pu être updaté" );
 mysql_query("UNLOCK TABLES" )ss
ssor die ("Hmm. Houston, we have a problem ! :)" );
ss
 mysql_close();
?>
<HTML>
<HEAD>
 <? echo("<meta http-equiv="refresh" content="1; url=http://URL_DE_TON_SITE/downloads/$src">" ); ?>
</head>
<body>
 <H1>Bon Téléchargement !</h1>
 <script language="JavaScript1.2">
sswindow.setTimeout("window.close()",2000);
 </script>ss
</body>
</html>
 
on doit pouvoir faire mieux ms bon ...
 
voila si tu veux voir ce que ca donne c ds la rubrique downloads de mon site http://www.loloandcie.fr.st

Reply

Marsh Posté le 04-02-2001 à 15:03:35    

je sais pas si tu as vu mais le mec parle de faire ca SANS mysql......
 
pour ça faut te faire un fichier , c le seul moyen pour la persistance d'information pas trop compliqué...
 
les fonctions sont fopen,fclose, etc...les meme qu'en C et s'utilisent presque pareil.
 
cherche ces fonctions dans les Docs PHP, et soit tu fait 1 fichier texte par fichier à télécharger(ca risque de faire beaucoup mais c plus simple) ou un seul gros fichier(faudra le lire et trouver la ligne qui correspond à chaque image, c un peu plus complexe mais plus "esthétique" )

Reply

Marsh Posté le 04-02-2001 à 15:06:18    

effectivement j'av pas vu :)
désolé ...
enfin la partie la plus chiante c bien de lancer le téléchargement non ?

Reply

Marsh Posté le 04-02-2001 à 18:37:08    

Voila un truc qui devrait marcher
 
<?php
$file = fopen("visites.txt", "r" );
if (!$file)ss
{
ss$file = fopen("visites.txt", "w" );
ssfputs($file, 1);
ssexit;
}
else
{
ss$visites = 1+trim(fgets($file, 1024));
ssfclose($file);
ss$file = fopen("visites.txt", "w" );
ssfputs($file, $visites);
ssfclose($file);
}
header("Location: le_fichier_à_downloader" );
?>
il doit y avoir mieux pour réinitialiser le pointeur du fichier
mais bon...
 
Ca n'a rien à voir mais bon:
Dit moi Kyle pour neti il y a une application qui tourne sur ton serveur c'est du java ou autre chose, et surtout qui c'est ton hébergeur?

Reply

Marsh Posté le 04-02-2001 à 18:42:50    

Pour l'instant, la version public de Neti est un stand alone qui ne marche qu'en local.
Mais une alhpa devrait bientôt être mise à disposition des personnes inscrites sur la mailling list et cette version contiendra
->Le Stand Alone actuel amélioré.
->Un serveur dédié et un client pour une architechture client/server. Tu pourras par exemple installer un serveur Neti sur ton réso ou ton site si tu l'héberges...
Bien sûr le serveur sera installé sur mon site.
 
Tu l'aura compris, mon site est hébergé par ... moi même, avec espace ilimité, php, ... En réalité un membre de la Katarn Corp a une connection permanente sans limite de transfert alors on l'exploite ;-)
 
Merci de ton intérêt pour Neti. Contactes moi si tu as d'autres questions

Reply

Marsh Posté le 04-02-2001 à 22:47:23    

Mon site est désormais enrichit en php ! merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed