PHP Lien download.php?id=123 Comment en créer
Résolu
Djdodo2
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
Burkinanonymous -
Burkinanonymous -
Salut,
Depuis je ne sais comben de jours je suis a la recherche de cette astuce....
Je ne sais pas si vous seriez capable de me répondre mais, j'aimerais inclure du php dans ma page de téléchargement, au lieu d'avoir une adresse tel que http://monsite/v6/mp3/titredumix.zip d'avoir une adresse tel que http://monsite/v6/download.php?id=123
Est-ce possible ???
j'aimerais avoir le code complet recopier s'il y a erreur dans le mien
Le code a mettre dans download.php
Et le code dans ma page pour renvoyer le téléchagement....
Mais quand je le mets il me dit
Quelqu'un sait-il pourquoi ???
Depuis je ne sais comben de jours je suis a la recherche de cette astuce....
Je ne sais pas si vous seriez capable de me répondre mais, j'aimerais inclure du php dans ma page de téléchargement, au lieu d'avoir une adresse tel que http://monsite/v6/mp3/titredumix.zip d'avoir une adresse tel que http://monsite/v6/download.php?id=123
Est-ce possible ???
j'aimerais avoir le code complet recopier s'il y a erreur dans le mien
Le code a mettre dans download.php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title>Télécharger</title> </head> <body> <br> <?php $id = $_GET['id']; if ($id= '1') { $file = '/mp3/Dj%20dodo%20-%20Turn%20Me%20Up%20%21.zip'; }; elseif etc avec ts les autres fichiers... header('Content-Transfer-Encoding: none'); header('Content-Type: application/octetstream; name="'.$file.'"'); header('Content-Disposition: attachment; filename="'.$file.'"'); </body> </html>
Et le code dans ma page pour renvoyer le téléchagement....
<a href="/download.php?id=1">Télécharger</a>
Mais quand je le mets il me dit
Parse error: syntax error, unexpected T_ELSEIF in /home/web573/web/v6/html/download.php on line 23
Quelqu'un sait-il pourquoi ???
A voir également:
- PHP Lien download.php?id=123 Comment en créer
- Id telephone - Guide
- Gate first id ✓ - Forum Navigateur
- Id reseau tv - Forum TNT / Satellite / Réception
- Id=108 - Forum MacOS
- Go trust id ✓ - Forum Logiciels
13 réponses
<?php
$id = $_GET['id'];
switch ($id){
case '12':
$file = '/mp3/Dj dodo - Turn Me Up !.zip';
break;
case '11':
$file = '/mp3/Dj%20dodo%20-%20No%20Matter%20What%20Do%20You%20Do.zip';
break;
case '10':
$file = '/mp3/Dj%20Dodo%20-%20Push%20for%20satisfaction.zip';
break;
case '9':
$file = '/mp3//Dj%20dodo%20-%20My%20lover%20is%20gone.zip';
break;
case '8':
$file = '/mp3/Dj%20dodo%20-%20Born%20to%20Dream.zip';
break;
case '7':
$file = '/mp3/Dj%20dodo%20-%20Bring%20your%20nose.zip';
break;
case '6':
$file = '/mp3//Dj%20dodo%20-%20Mr.%20Confusion%20.zip';
break;
case '5':
$file = '/mp3/Dj%20dodo%20-%20Your%20Strange%20Confusion.zip';
break;
case '4':
$file = '/mp3/Arabian%20adventure%203%20%28Long%20version%29%20-%20Dj%20Antoine%20ft.%20Dj%20dodo.zip';
break;
case '3':
$file = '/mp3/What%20a%20feeeeeeling%20-%20Dj%20dodo.zip';
break;
case '2':
$file = '/mp3/Don%27t%20stop%20your%20body%20-%20Dj%20dodo.zip';
break;
case '1':
$file = '/mp3/Beautiful%20body%20-%20Dj%20dodo.zip';
break;
}
header('Content-Transfer-Encoding: none');
header('Content-Type: application/octetstream; name="'.$file.'"');
header('Content-Disposition: attachment; filename="'.$file.'"');
header("Location:".$file);
?>
ça fonctionne !!!!
$id = $_GET['id'];
switch ($id){
case '12':
$file = '/mp3/Dj dodo - Turn Me Up !.zip';
break;
case '11':
$file = '/mp3/Dj%20dodo%20-%20No%20Matter%20What%20Do%20You%20Do.zip';
break;
case '10':
$file = '/mp3/Dj%20Dodo%20-%20Push%20for%20satisfaction.zip';
break;
case '9':
$file = '/mp3//Dj%20dodo%20-%20My%20lover%20is%20gone.zip';
break;
case '8':
$file = '/mp3/Dj%20dodo%20-%20Born%20to%20Dream.zip';
break;
case '7':
$file = '/mp3/Dj%20dodo%20-%20Bring%20your%20nose.zip';
break;
case '6':
$file = '/mp3//Dj%20dodo%20-%20Mr.%20Confusion%20.zip';
break;
case '5':
$file = '/mp3/Dj%20dodo%20-%20Your%20Strange%20Confusion.zip';
break;
case '4':
$file = '/mp3/Arabian%20adventure%203%20%28Long%20version%29%20-%20Dj%20Antoine%20ft.%20Dj%20dodo.zip';
break;
case '3':
$file = '/mp3/What%20a%20feeeeeeling%20-%20Dj%20dodo.zip';
break;
case '2':
$file = '/mp3/Don%27t%20stop%20your%20body%20-%20Dj%20dodo.zip';
break;
case '1':
$file = '/mp3/Beautiful%20body%20-%20Dj%20dodo.zip';
break;
}
header('Content-Transfer-Encoding: none');
header('Content-Type: application/octetstream; name="'.$file.'"');
header('Content-Disposition: attachment; filename="'.$file.'"');
header("Location:".$file);
?>
ça fonctionne !!!!
ça ne fonctionne pas encore....
voici le code complet de ma page php
voici le code complet de ma page php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title>Télécharger</title> </head> <body> <br> <?php $id = $_GET['id']; switch ($id){ case '1': $file = '/Dj%20dodo%20-%20Turn%20Me%20Up%20%21.zip'; break; case '2': $file = '/Dj%20dodo%20-%20Turn%20Me%20Up%20%21.zip'; break; case '3': $file = '/Dj%20dodo%20-%20Turn%20Me%20Up%20%21.zip'; break; header('Content-Transfer-Encoding: none'); header('Content-Type: application/octetstream; name="'.$file.'"'); header('Content-Disposition: attachment; filename="'.$file.'"'); header("Location:".$file); } ?> </body> </html>
Bonsoir,
<?php
$id = $_GET['id'];
if ($id= '1')
{
$file = '/mp3/Dj%20dodo%20-%20Turn%20Me%20Up%20%21.zip';
};
elseif etc avec ts les autres fichiers..
Déja tu as un ; en trop après la } du if
Et puis si tu as beaucoup de num d'id à traiter cela va être la galère avec tous les elseif
optes plutôt pour la solution du switch case plus claire et plus souple
<?php
$id = $_GET['id'];
if ($id= '1')
{
$file = '/mp3/Dj%20dodo%20-%20Turn%20Me%20Up%20%21.zip';
};
elseif etc avec ts les autres fichiers..
Déja tu as un ; en trop après la } du if
Et puis si tu as beaucoup de num d'id à traiter cela va être la galère avec tous les elseif
optes plutôt pour la solution du switch case plus claire et plus souple
switch ($id){ case '1': $file = '/mp3/Dj%20dodo%20-%20Turn%20Me%20Up%20%21.zip'; break; case '2': $file = '/mp3/..................................zip'; break; case '3': $file = '/mp3/..............................zip'; break; //etc..... }
salut,
c'est sans doute parce que tu n'as pas échappé ton commentaire.
c'est sans doute parce que tu n'as pas échappé ton commentaire.
elseif //etc avec ts les autres fichiers...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
et d'ailleurs il faut aussi enlever un point-virgule, ajouter les accolades et la fermeture de balise PHP.
<?php $id = $_GET['id']; if ($id= '1') { $file = '/mp3/Dj%20dodo%20-%20Turn%20Me%20Up%20%21.zip'; } elseif { header('Content-Transfer-Encoding: none'); header('Content-Type: application/octetstream; name="'.$file.'"'); header('Content-Disposition: attachment; filename="'.$file.'"'); } ?> </body>
Ok cela fonctionne mais il y a encore une erreur,
Il ne m'indique pas d'erreur, mais le fichier spécifier ne commence pas a télécharger...
j'ai utiliser le code d'alain42
Vous pouvez le tester au http://djdodo.servhome.org/v6/html/down.php?id=1
Et voila !
Il ne m'indique pas d'erreur, mais le fichier spécifier ne commence pas a télécharger...
j'ai utiliser le code d'alain42
Vous pouvez le tester au http://djdodo.servhome.org/v6/html/down.php?id=1
Et voila !
Si je ne m'abuse, il ne faut pas envoyer de caracteres HTML avant le header.
Alors essayes en enlevant tout ce qui est avant <?php et après ?>
Alors essayes en enlevant tout ce qui est avant <?php et après ?>
j'ai essayer Mais ça ne fonctionne pas encore !
<?php $id = $_GET['id']; switch ($id){ case '1': $file = '/Dj%20dodo%20-%20Turn%20Me%20Up%20%21.zip'; break; case '2': $file = '/Dj%20dodo%20-%20Turn%20Me%20Up%20%21.zip'; break; case '3': $file = '/Dj%20dodo%20-%20Turn%20Me%20Up%20%21.zip'; break; header('Content-Transfer-Encoding: none'); header('Content-Type: application/octetstream; name="'.$file.'"'); header('Content-Disposition: attachment; filename="'.$file.'"'); header("Location:".$file); } ?>
Alors est tu sur de ton chemin vers tes fichiers
car tel que tu les mets, ils doivent être dans le même répertoire que ton script.
Y sont-ils ?
car tel que tu les mets, ils doivent être dans le même répertoire que ton script.
Y sont-ils ?
Oui... ils sont dans le meme répertoire !!!
regarde l'Adresse pour le tester est http://djdodo.servhome.org/down.php?id=1
Mais ça ne fonctionne pas quand meme !!! :(
regarde l'Adresse pour le tester est http://djdodo.servhome.org/down.php?id=1
Mais ça ne fonctionne pas quand meme !!! :(
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Téléchargements </title>
</head>
<body>
<?php
/////////////////////////// IMPORTANT //////////////////////
////// Lisez les commentaires s'il vous plait ! //////
//Créer une page de fichiers à télécharger
//Voici une solution rapide pour mettre en place une liste de fichiers
// à télécharger dans une page statique.
//
//L'idée est d'afficher sous forme de liste les noms de fichiers
//d'un dossier sous forme de lien cliquable ;
//les fichiers affichés sont filtrés par leur extension et le chemin
// d'accès au fichier est masqué.
//
//Important : si les fichiers sont uploadés manuellement (par FTP),
//veillez à ce qu'ils soient nommés avec
// uniquement des minuscules, des chiffres et le caractère "_" de
//manière à valider l'expression régulière qui
//sélectionne les fichiers dans le code ci-dessous :
//
// a-z0-9-_
// Installation
// 1. Les différentes versions sont préédées par le signe " # "
//et sont aux choix .
// 2. Créez une page statique et copiez dedans le code suivant
////////////////////////////////////////////////////////////////
# PluXml 5.1+
global $plxShow;
// Nom du dossier fichiers à renseigner
$dir = 'data/documents';
// Nom du sous-dossier, si applicable, par rapport à $dir (ajouter un / devant le nom)
$sousdir = '/telechargements';
// Récupération et affichage de la liste des fichiers sous forme de liste
$glob = plxGlob::getInstance($dir.$sousdir);
if ($files = $glob->query('/[a-z0-9-_]+.(jpg|gif|png|zip|rar|txt|pdf|mp3|flv)$/')) {
echo '<ul class="telechargements">';
foreach($files as $filename) {
$encrypt = str_replace('/','',$sousdir).'/'.$filename;
$file = $dir.'/'.$filename;
echo '<li><a href="';
$plxShow->urlRewrite('?telechargement/'.plxEncrypt::encryptId($encrypt));
echo '">'.$filename.'</a></li>';
}
echo '</ul>';
}
else echo "Aucun document";
# PluXml 5.0+
// Nom du dossier fichiers à renseigner
$dir = 'data/documents';
// Récupération et affichage de la liste des fichiers sous forme de liste
$glob = plxGlob::getInstance($dir);
if ($files = $glob->query('/[a-z0-9-_]+.(jpg|gif|png|zip|rar|txt|pdf|mp3|flv)$/')) {
echo '<ul class="telechargements">';
foreach($files as $filename) {
$file = $dir.'/'.$filename;
echo '<li><a href="./?telechargement/'.plxEncrypt::encryptId($filename).'">'.$filename.'</a></li>';
}
echo '</ul>';
}
else echo "Aucun document";
# PluXml 4.2
// Nom du dossier fichiers à renseigner
$dir = 'data/documents';
// Récupération et affichage de la liste des fichiers sous forme de liste
$glob = new plxGlob($dir);
if ($files = $glob->query('/[a-z0-9-_]+.(jpg|gif|png|zip|rar|txt|pdf|mp3|flv)$/')) {
echo '<ul class="telechargements">';
foreach($files as $filename) {
$file = $dir.'/'.$filename;
echo '<li><a href="./?telechargement/'.plxEncrypt::encryptId($filename).'">'.$filename.'</a></li>';
}
echo '</ul>';
}
else echo "Aucun document";
// Version avec affichage de la taille des fichiers :
# PluXml 5.0+
// Nom du dossier images à renseigner
$dir = 'data/documents';
// Récupération et affichage de la liste des images sous forme de liste
$glob = plxGlob::getInstance($dir);
if ($files = $glob->query('/[a-z0-9-_]+.(jpg|gif|png|zip|rar|txt|pdf|mp3|flv)$/')) {
echo '<ul class="telechargements">';
foreach($files as $filename) {
$file = $dir.'/'.$filename;
$size = ceil(filesize($file)/1024);
echo '<li><a href="./?telechargement/'.plxEncrypt::encryptId($filename).'">'.$filename.'</a> ('.$size.'Ko)</li>';
}
echo '</ul>';
}
else echo "Aucun document";
# PluXml 4.2
// Nom du dossier images à renseigner
$dir = 'data/documents';
// Récupération et affichage de la liste des images sous forme de liste
$glob = new plxGlob($dir);
if ($files = $glob->query('/[a-z0-9-_]+.(jpg|gif|png|zip|rar|txt|pdf|mp3|flv)$/')) {
echo '<ul class="telechargements">';
foreach($files as $filename) {
$file = $dir.'/'.$filename;
$size = ceil(filesize($file)/1024);
echo '<li><a href="./?telechargement/'.plxEncrypt::encryptId($filename).'">'.$filename.'</a> ('.$size.'Ko)</li>';
}
echo '</ul>';
}
else echo "Aucun document";
//////////////////////////////////////////////////////////////
// 3. Modifiez la ligne suivante en remplaçant par l'emplacement de vos fichiers.
/// " // Nom du dossier fichiers à renseigner "
//" $dir = 'data/documents'; "
//4. Ajustez le filtre des fichiers à afficher
//
//Ajoutez/supprimer des extensions à la liste
//
//(jpg|gif|png|zip|rar|txt|pdf|mp3|flv)
//Personnalisation de l'affichage de la galerie
//Vous pouvez mettre en forme l'affichage de votre page en ajoutant un style dans
// le fichier style.css de votre thème pour la classe appelée "telechargement",
//définie dans le code source par la //ligne:
// echo '<ul class="telechargements">'
///////////////////////////////////////////////////
?>
<cite> Libre à vous d'en faire ce que vous voulez !!! </cite>
</body>
</html>