Bonjour, je compte faire ceci en php avec une base de donnée, pour générer un lien de download j'ai réussi avec un htaccess (et du php). Maintenant il faudrais que j'arrive a faire un "code" mais sinon pour le lien et tout j'ai réussi voici mon code:
<?php
include('config.php');
include('mysql_connect.php');
# Fonction pour créer un nouveau fichier
function nouveau($emplacement, $contenu)
{
$fichier = fopen($emplacement, "w+");
fputs($fichier, $contenu);
fclose($fichier);
}
function write($emplacement, $contenu)
{
$ouvre=fopen($emplacement,"a+"); // ouverture en lecture ( a+)
fwrite($ouvre,$contenu); // écriture fichier
fclose($ouvre); // fermeture fichier
}
if(isset($_GET['d'])) {
// On récupère le fichier via une url du type download.php?d=<LIDDUFICHIER>
$file_id = $_GET['d'];
// On regarde si le fichier existe
$sql1 = mysql_query("SELECT * FROM file WHERE id='".$file_id."'");
# Conversion pour afficher les caractères
$row = mysql_fetch_assoc($sql1);
# Dans filename il y a le nom du fichier, normalement tout les fichiers sont dans le même répertoire, du genre "upload" et après ont génère un lien aléatoire valide que une fois
# Après il faudrais chercher le nom du fichier et si il est trouver on crée un lien de download temporaire, si il n'est pas trouvé, on marque que le fichier n'existe pas.
if(mysql_num_rows($sql1) > 0){
# Fichier trouvé sur mysql, on peut créer un lien temporaire
# Pour le lien temporaire j'ai eu l'idée simplement d'utiliser un htacess
# Génère id temporaire
$token= md5(uniqid(rand(), true));
# Cherche le nom du fichier
$filename = $row['filename'];
# Valeur a écrire
$download_link_unique = "$token/$filename";
/*$add_temp_link = "
RewriteEngine On
RewriteRule ^$download_link_unique$ $filename [L]";*/
# RewriteEngine On doit être mit sur le htacess!!
$add_temp_link = "
RewriteRule ^$download_link_unique$ $filename [L]";
write(".htaccess", $add_temp_link);
echo '<a href="downloading.php" onclick="window.open(\'',$download_link_unique,'\', \'_blank\');">Commencer le téléchargement </a>';
# Suppression du lien crée
} else {
// Le fichier n'est pas présent
echo'Erreur fichier invalide ou supprimé';
}
# Quand le download démarre il faut supprimer la ligne crée sur le htacess
} else {
echo' Le lien est invalide! ';
}
?>
Mais maintenant après sa il faut supprimer aussi la ligne que j'ai fais dans le htaccess.
Et puis l'upload j'ai pas commencé..