Créer un espace de téléchargement

Répondre
baba0076
le 15/04/2005 à 19:08
baba0076
Bonjour à tous les PHPeurs ! Lol
J'aimerais créer un espace de téléchargement sur mon site ! Et donc j'aurais créer un page PHP tu genre "download.php?id=1"
Si vous voyez ce que je veux dire ... (c'est difficile avec moi ^^) Pourrez vous m'aider à mettre ca en place ?
Si vous voulez plus d'explications sur ce que je demande merci de me le dire à la suite de ce topic...
Bye !
Bzh
le 15/04/2005 à 19:20
Bzh
On veut bien t' aider, mais le souci est que tu ne donnes pas beaucoup de détails...

id ??? Variable du fichier à télécharger ???

donc, tout tes fichiers seront enregistrés dans une base de donnée ???

Sois plus clair...
baba0076
le 15/04/2005 à 20:14
baba0076
Oui c'est ca ; id=varail du fichier (n° du fichier) et les fichier dans la base de données !
allserv
le 15/04/2005 à 22:38
allserv
Les fichiers ne seront pas stockés dans la base de données, seulement leur nom, mais je pense que ca tu le savais.

Ensuite suffit de faire une requte qui va récuperer le nom du ficher qui correspond à l'id :

$sql ="SELECT nom_fichier FROM matable WHERE id='".$id."'";
$query = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_array($query);

$fichier = $data["nom_fichier"];


Je ne connais pas trop après mais je pense qu'il faut utiliser les header pour specifier qu'il s'agit d'un telechargement et lui spécifier l'url relative du telechargement, et normalement ca devrait le faire .

Ta table doit ressembler à cela alors :

CREATE TABLE `matable` (
`id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT ,
`nom_fichier` VARCHAR( 150 ) NOT NULL ,
PRIMARY KEY ( `id` )
);


@+
Bzh
le 16/04/2005 à 11:35
Bzh
Je veux pas trop m' avancer, mais là, il me semble que tu te trompe.... Tu peux très bien enregistrer une image dans une base de donné (champ "binary")...

Enfin à vérifier, je ne l' ai jamais fait...
mojorisin
le 16/04/2005 à 13:54
mojorisin
Il te suffit de faire un script php qui se chargera de :
1 - envoyer les en-tetes adequat au navigateur
2 lire le fichier pour le transmettre

Exemple :

<?php
$filename = 'monfichier.monextension';
header('Content-disposition: attachment; filename='.$filename);
header('Content-Type: application/force-download');
header('Content-Transfer-Encoding: fichier');
header('Content-Length: '.filesize($filename));
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
readfile($filename);
?>
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours