1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| <?php
$folder_stat = 'download/stat/' ; // répertoire dans lequel seront stockées les statistiques
$folder_archive = 'download/' ; // répertoire des téléchargements
if ( isset( $_GET['file'] ) ) // Si le visiteur veut télécharger un fichier
{
$name = htmlentities($_GET['file'], ENT_QUOTES); // sécurisation de la variable
if ( file_exists( $folder_stat . $name . '.txt' ) ) // si le fichier existe
{
$FileContent = fopen( $folder_stat . $name . '.txt', 'r+' ); // ouverture du fichier statistique contenant le nombre de hit
$hit = fgets( $FileContent ); // récupération de la valeur
$hit = intval( $hit ); // on vérifie qu'il s'agisse bien d'un nombre
$hit++; // ajout de 1 au nombre de hit
fseek( $FileContent, 0 ); // réinitialisation du curseur
fputs( $FileContent, $hit ); // écriture dans le fichier
fclose( $FileContent ); // fermeture du fichier
header( "Location: $folder_archive$name.rar" ); // redirection vers le téléchargement
}
}
function NumberOfHit( $name ) // création de la fonction NumberOfHit
{
$folder_stat = 'download/stat/' ; // répertoire dans lequel seront srockées les statistiques
$file = $folder_stat . $name . '.txt' ; // nom du fichier statistique contenant le nombre de hit
if ( file_exists( $file ) ) // si le fichier existe
{
$FileContent = fopen( $file , 'r' ); // ouverture du fichier
$hit = fgets( $FileContent ); // récupération de la valeur
fclose( $FileContent ); // fermeture du fichier
return $hit; // retour de la valeur de $hit
}
else // si le fichier n'existe pas
{
touch( $file ); // création du fichier
$FileContent = fopen( $file , 'r+' ); // ouverture du fichier
fseek( $FileContent, 0 ); // réinitialisation du curseur
fputs( $FileContent, 0 ); // écriture dans le fichier
fclose( $FileContent ); // fermeture du fichier
}
}
?>
<html>
<body>
<?php
$name = 'Fruity Loop 6.2' ; // nom du fichier (et de l'archive)
$result = NumberOfHit( $name ) ; // récupération du nombre de hit pour le nom concerné
echo '
<h3>' . $name . '</h3>
<p>
Télécharger le fichier : <a href="?file=' . $name . '">Direct download</a><br/>
Nombre de hit : ' . $result . '
</p>
';
?>
</body>
</html> |
Partager