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é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 :</b> <?php echo $file_name . "<br />"; ?>
<b>Description :</b> <?php echo $description . "<br />"; ?>
<b>Taille du Fichier :</b> <?php echo ClassUpload::Convert(filesize("files/" . $repertory)); ?>
</div>
<div class="right">
<b>Lien de téléchargement:</b>
<?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éléchargement Premium' /></div>
<div class="contour radius"><input class="radius black" type='submit' name="submit" value='Téléchargement régulier' /></div>
</div>
<? } ?>
<div class="clear"></div>
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]<?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é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 :</b> <?php echo $file_name . "<br />"; ?>
<b>Description :</b> <?php echo $description . "<br />"; ?>
<b>Taille du Fichier :</b> <?php echo ClassUpload::Convert(filesize("files/" . $repertory)); ?>
</div>
<div class="right">
<b>Lien de téléchargement:</b>
<?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éléchargement Premium' /></div>
<div class="contour radius"><input class="radius black" type='submit' name="submit" value='Téléchargement régulier' /></div>
</div>
<? } ?>
<div class="clear"></div>[/php]