Vérifier si utilisateur télécharge + UPLOAD avec progressbar

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Vérifier si utilisateur télécharge + UPLOAD avec progressbar

Re: Vérifier si utilisateur télécharge + UPLOAD avec progres

par sirakawa » 11 mars 2012, 10:38

echo "<div id='error'>Actuellement, ce fichier est indisponible</div>";
echo "<div id='error'>Actuellement ce fichier n'est pas disponible</div>";
serait plus mignon que
echo "<div id='error'>Le fichier n'est pr&eacute;sentement pas disponible</div>";
présentement c'est du français de gendarmes de Courteline ou de noirs ou de canadiens de bande dessinée.
Plus sérieusement, le téléchargeur peut-il être identifié par un moyen quelconque (adresse IP, identifiant, adresse électronique;, ou autre chose... voir du côté de $_SERVER, faire un print_r($_SERVER)) : ce sera nom_util ci-dessous
http://fr2.php.net/manual/fr/reserved.v ... server.php
Et loger ce renseignement dans une bdd du genre
table fichiers
ident_fic|nom_de_fichier|chemin_du_fichier
1|zip.exe|....
2|bidule.doc
table utilisateurs
ident_util|nom_util
1|toto
2|127.33.21.36
table chargements
ident_fic|ident_util|
1|1 zip.exe a été chargé par toto
1|2 zip.exe a été chargé par 127.33.21.36

Vérifier si utilisateur télécharge + UPLOAD avec progressbar

par MEGAFILES » 10 mars 2012, 13:39

Bonjour à tous !

J'ai une question, j'utilise form method='post' action='upload.php'

Mais j'aimerai que lorsque je j'Upload un fichier, qu'il me redirige vers upload.php avec un progressbar

Mais le plus important, c'est que je ne sais pas comment faire pour savoir si l'utilisateur télécharge pour l'empêcher de télécharger une seconde fois

Pouvez vous m'aider ?

Voici le code que j'utilise
<?php 

$result = dbquery("SELECT * FROM files WHERE repertory = '" . filter($_GET['d']) . "'");

if (mysql_num_rows($result) >= 1)
{
	while ($d = mysql_fetch_assoc($result))
	{
		$file_name = $d['file_name'];
		$description = $d['description'];
		$repertory = $d['repertory'];
		$extension = ClassUpload::GetExtension($file_name);
	}
	
	define('FILE_EXIST', true);
}


else 
{ 
	echo "<div id='error'>Le fichier n'est pr&eacute;sentement pas disponible</div>"; 
	define('FILE_EXIST', false);
}


if (FILE_EXIST)
{
	switch($extension) 
	{
		case ".gz": case ".tgz": $type = "application/x-gzip"; break;
		case ".zip": $type = "application/zip"; break;
		case ".pdf": $type = "application/pdf"; break;
		case ".png": $type = "image/png"; break;
		case ".gif": $type = "image/gif"; break;
		case ".jpg": $type = "image/jpeg"; break;
		case ".txt": $type = "text/plain"; break;
		case ".htm": case ".html": $type = "text/html"; break;
		default: $type = "application/octet-stream"; break;
	}
	
	if (isset($_POST['premium']) && $users->GetUserVar(USER_ID, 'rank') >= 2 || isset($_POST['submit']))
	{
		if (file_exists("files/" . $repertory))
		{
			header('Content-Disposition: attachment; filename="' . $file_name . '"');			
			header("Content-Type: application/force-download"); 
			header("Content-Transfer-Encoding: " . $type . "\n"); // Surtout ne pas enlever le \n
			header("Content-Length: ". filesize("files/" . $repertory)); 
			header("Pragma: no-cache"); 
			header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); 
			header("Expires: 0"); 
			flush(); 
			readfile("files/" . $repertory); 
			exit();
		}
	}

	else if (isset($_POST['premium']) && !$users->GetUserVar(USER_ID, 'rank') >= 2) 
	{ 
		header('Location: premium.php'); 
		exit; 
	}

?>
<form method="post">
<div class="left">
<b>Nom du fichier&nbsp;:</b>&nbsp;<?php echo $file_name . "<br />"; ?>
<b>Description&nbsp;:</b>&nbsp;<?php echo $description . "<br />"; ?>
<b>Taille du Fichier&nbsp;:</b>&nbsp;<?php echo ClassUpload::Convert(filesize("files/" . $repertory)); ?>
</div>

<div class="right">
<b>Lien de t&eacute;l&eacute;chargement:</b>&nbsp;
<?php echo "<a href='http://www.visualdevelopment.fr/?d=" . $repertory . "'>http://www.visualdevelopment.fr/?d=" . $repertory . "</a>"; ?>
</div>
<div class="clear"></div>
<div class="right">
<div class="contour radius"><input class="radius orange" type='submit' name="premium" value='T&eacute;l&eacute;chargement Premium' /></div>
<div class="contour radius"><input class="radius black" type='submit' name="submit" value='T&eacute;l&eacute;chargement r&eacute;gulier' /></div>
</div>
<? } ?>
<div class="clear"></div>