Aide pour créé un compteur

Fermé
Mazor - 8 avril 2009 à 22:43
 Benj - 10 avril 2009 à 01:59
Bien le bonjour les internaute,
Donc mon intention:
je veux créé un lien pour que les gens puissent téléchargé un dossier mais juste en cliquant sur le lien et non pas sur une page.Sa j'ai réussit.

Mais j'aimerais bien créé un compteur dessus pour savoir combien de fois sa a été téléchargé,donc je suis ce tuto(voir ci-dessous) mais j'ai comprend que la mise ne place des infrastructure,quelqu'un pourrais m'aider? Ou bien si quelqu'un connais une autre technique plus simple ou equivalente je suis prenneur mais c'est vachement important et urgent.Donc j'ai besoin de vous merci.

Voici le le tuto que j'ai trouver:

http://www.siteduzero.com/tutoriel-3-36048-compteur-de-telechargements.html

Et voici le lien de téléchargement qui télécharge directement et non pas sur une page:

http://poetefute.olympe-network.com/Formulaire/Depart_Imminent.rar

Merci de m'aider et je rapel que c'est URGENT !!! ^^

5 réponses

Justement je n'ai pas de code je vien demandé comment faire ^^
1
essaye ça mais je n'ai pas testé le code...

<?php
class compt {
	public function Download($file,$SurExt=null) {
		/*
			Ne pas précéder la surextension d'un point dans $SurExt
			Exemple $file = './truc.png.extension' $SurExt='extension'
			
		*/
		
		if (!is_null($SurExt)) $SurExt = '.'.$SurExt;
		$Namefile = basename($file,$SurExt);
		$ext = substr(strrchr($Namefile,'.'),1);
		$mimetypes = $this->MimeTypeArray(); 
		if (isset($mimetypes[$ext])) $type = $mimetypes[$ext];
		else {
			$finfo = new finfo(FILEINFO_MIME);
			$type = $finfo->file($file);
		}
		$type = 'Content-type: '.$type;
		header($type);
		header('Content-Transfer-Encoding: binary');
		header('Content-Disposition: attachment; filename="'.$Namefile.'"');
		readfile($file);
	}
	
	public function ContentType($file,$SurExt=null) {
		/*
			Ne pas précéder la surextension d'un point dans $SurExt
			Exemple $file = './truc.png.extension' $SurExt='extension'
			
		*/
		
		if (!is_null($SurExt)) $SurExt = '.'.$SurExt;
		$Namefile = basename($file,$SurExt);
		$ext = substr(strrchr($Namefile,'.'),1);
		$mimetypes = $this->MimeTypeArray(); 
		if (isset($mimetypes[$ext])) $type = $mimetypes[$ext];
		else {
			$finfo = new finfo(FILEINFO_MIME);
			$type = $finfo->file($file);
		}
		return $type;
	}
	
	public function MimeTypeArray(){
		return array(
			"ez" => "application/andrew-inset",
			"hqx" => "application/mac-binhex40",
			"cpt" => "application/mac-compactpro",
			"doc" => "application/msword",
			"bin" => "application/octet-stream",
			"dms" => "application/octet-stream",
			"lha" => "application/octet-stream",
			"lzh" => "application/octet-stream",
			"exe" => "application/octet-stream",
			"class" => "application/octet-stream",
			"so" => "application/octet-stream",
			"dll" => "application/octet-stream",
			"oda" => "application/oda",
			"pdf" => "application/pdf",
			"ai" => "application/postscript",
			"eps" => "application/postscript",
			"ps" => "application/postscript",
			"smi" => "application/smil",
			"smil" => "application/smil",
			"wbxml" => "application/vnd.wap.wbxml",
			"wmlc" => "application/vnd.wap.wmlc",
			"wmlsc" => "application/vnd.wap.wmlscriptc",
			"bcpio" => "application/x-bcpio",
			"vcd" => "application/x-cdlink",
			"pgn" => "application/x-chess-pgn",
			"cpio" => "application/x-cpio",
			"csh" => "application/x-csh",
			"dcr" => "application/x-director",
			"dir" => "application/x-director",
			"dxr" => "application/x-director",
			"dvi" => "application/x-dvi",
			"spl" => "application/x-futuresplash",
			"gtar" => "application/x-gtar",
			"hdf" => "application/x-hdf",
			"js" => "application/x-javascript",
			"skp" => "application/x-koan",
			"skd" => "application/x-koan",
			"skt" => "application/x-koan",
			"skm" => "application/x-koan",
			"latex" => "application/x-latex",
			"nc" => "application/x-netcdf",
			"cdf" => "application/x-netcdf",
			"sh" => "application/x-sh",
			"shar" => "application/x-shar",
			"swf" => "application/x-shockwave-flash",
			"sit" => "application/x-stuffit",
			"sv4cpio" => "application/x-sv4cpio",
			"sv4crc" => "application/x-sv4crc",
			"tar" => "application/x-tar",
			"tcl" => "application/x-tcl",
			"tex" => "application/x-tex",
			"texinfo" => "application/x-texinfo",
			"texi" => "application/x-texinfo",
			"t" => "application/x-troff",
			"tr" => "application/x-troff",
			"roff" => "application/x-troff",
			"man" => "application/x-troff-man",
			"me" => "application/x-troff-me",
			"ms" => "application/x-troff-ms",
			"ustar" => "application/x-ustar",
			"src" => "application/x-wais-source",
			"xhtml" => "application/xhtml+xml",
			"xht" => "application/xhtml+xml",
			"zip" => "application/zip",
			"au" => "audio/basic",
			"snd" => "audio/basic",
			"mid" => "audio/midi",
			"midi" => "audio/midi",
			"kar" => "audio/midi",
			"mpga" => "audio/mpeg",
			"mp2" => "audio/mpeg",
			"mp3" => "audio/mpeg",
			"aif" => "audio/x-aiff",
			"aiff" => "audio/x-aiff",
			"aifc" => "audio/x-aiff",
			"m3u" => "audio/x-mpegurl",
			"ram" => "audio/x-pn-realaudio",
			"rm" => "audio/x-pn-realaudio",
			"rpm" => "audio/x-pn-realaudio-plugin",
			"ra" => "audio/x-realaudio",
			"wav" => "audio/x-wav",
			"pdb" => "chemical/x-pdb",
			"xyz" => "chemical/x-xyz",
			"bmp" => "image/bmp",
			"gif" => "image/gif",
			"ief" => "image/ief",
			"jpeg" => "image/jpeg",
			"jpg" => "image/jpeg",
			"jpe" => "image/jpeg",
			"png" => "image/png",
			"tiff" => "image/tiff",
			"tif" => "image/tif",
			"djvu" => "image/vnd.djvu",
			"djv" => "image/vnd.djvu",
			"wbmp" => "image/vnd.wap.wbmp",
			"ras" => "image/x-cmu-raster",
			"pnm" => "image/x-portable-anymap",
			"pbm" => "image/x-portable-bitmap",
			"pgm" => "image/x-portable-graymap",
			"ppm" => "image/x-portable-pixmap",
			"rgb" => "image/x-rgb",
			"xbm" => "image/x-xbitmap",
			"xpm" => "image/x-xpixmap",
			"xwd" => "image/x-windowdump",
			"igs" => "model/iges",
			"iges" => "model/iges",
			"msh" => "model/mesh",
			"mesh" => "model/mesh",
			"silo" => "model/mesh",
			"wrl" => "model/vrml",
			"vrml" => "model/vrml",
			"css" => "text/css",
			"html" => "text/html",
			"htm" => "text/html",
			"asc" => "text/plain",
			"txt" => "text/plain",
			"rtx" => "text/richtext",
			"rtf" => "text/rtf",
			"sgml" => "text/sgml",
			"sgm" => "text/sgml",
			"tsv" => "text/tab-seperated-values",
			"wml" => "text/vnd.wap.wml",
			"wmls" => "text/vnd.wap.wmlscript",
			"etx" => "text/x-setext",
			"xml" => "text/xml",
			"xsl" => "text/xml",
			"mpeg" => "video/mpeg",
			"mpg" => "video/mpeg",
			"mpe" => "video/mpeg",
			"qt" => "video/quicktime",
			"mov" => "video/quicktime",
			"mxu" => "video/vnd.mpegurl",
			"avi" => "video/x-msvideo",
			"movie" => "video/x-sgi-movie",
			"ice" => "x-conference-xcooltalk"
		);
	}
	
}

	$file = mysql_real_escape_string($_GET['file']);
	$data = mysql_query("SELECT hits,name,dir,ext INTO files WHERE name='$file'");
	$data = mysql_fetch_assoc($data);
	$data['hits']++;
	mysql_query("UPDATE files SET hits='$data['hits']' WHERE name='$file'");
	$path =  $data['dir'].'/'.$data['name'].'.'.$data['ext'];
	$compt = new compt;
	$compt->Download($path);


?>
1
bonsoir,

tu peux simplement créé une table sql ayant pour champs filename en varchar et nbhit en int.

si ton fichier est déjà dans une base sql tu modifie ta table pour y rajouter nbhit

ça ne modifiera pas le nombre de requêtes pour l'instant.

ensuite tu n'as plus qu'à modifier la valeur de nbhit en faisant nbhit++ et modifier ta base avec un update

je ne sais pas si je suis clair mais je ne trouve pas de code "exemple" à faire là.

je pourrais le faire si tu postes le code de ta page.
0
Tout d'abord merci de m'avoir repondu mais je ne m'y connais pas bien en php mysql.Donc je comprend pas tout.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Poste le code de ta page et je pourrais être plus clair
0