begin process at 2012 05 31 05:08:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

pb pour forcer le telechagement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb pour forcer le telechagement

vendredi 11 janvier 2008 à 13:56:48 | pb pour forcer le telechagement

iron ian

Salut à tous!
J'ai fait un site pour l'école où je dois charger des fichiers que les utilisateurs peuvent télécharger. J'ai fait une page download.php qui force le téléchargement. J'arrive à télécharger les fichiers mais pas à les ouvrir.
Est-ce que quelqu'un pourrait m'aider?
Merci d'avance!

ma page upload qui se lance apres le formulaire :
    $tmp_name=$_FILES['fichier']['tmp_name'];
    $titre = $_FILES['fichier']['name'];
    $taille = $_FILES['fichier']['size'];
    $type = STRSTR($_FILES['fichier']['name'],".");
   
    $point=strrpos($titre,".");
    $titre=substr($titre,0,$point);
    $fichier = $_FILES['fichier']['name'];


ma page document :
    <a href="dl.php?dl=<?php echo 'fichiers/'.$doc['doc_fichier']; ?>">T&eacute;l&eacute;charger</a></td>
    //$doc['doc_fichier'], c'est le nom du fichier avec extension

ma page download :
if(isset($_GET['dl'])){
    $fichier=$_GET['dl'];

    switch(strrchr(basename($fichier), ".")) {
        case ".gz": $type = "application/x-gzip"; break;
        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": $type = "text/html"; break;
        case ".html": $type = "text/html"; break;
        default: $type = "application/octet-stream"; break;
        } 
    $fic=substr($fichier,9);  //retire le début du chemin pour prendre le nom
    header("Content-Transfer-Encoding: $type\n");
    header('Content-Disposition: attachment; filename="'.$fic.'"');
    header('Content-Length: '.filesize($fichier));
    readfile($fichier);
}
vendredi 11 janvier 2008 à 14:54:43 | Re : pb pour forcer le telechagement

malik7934

Tu entends quoi par "mais pas à ées ouvrir"? Tu as un message d'erreur? rien ne se passe?

Tu ne penses pas que ce serait bêtement une histoire de répertoire ? Tu as essayé sans faire le substr sur $fic?

*****
noisy communication - wherever, be everywhere!

vendredi 11 janvier 2008 à 16:01:58 | Re : pb pour forcer le telechagement

iron ian

J'ai essayé de modifier les répertoires et tout mais j'y arrve pas.
En fait, quand j'ouvre les fichiers, j'ai un message qui me dit que le fichier est endommagé.
vendredi 11 janvier 2008 à 16:14:48 | Re : pb pour forcer le telechagement

malik7934

endommagé? Alors soit c'est une erreur de type, soit il est VRAIMENT endommagé au moment où tu l'uploades.... essaie peut-être de remplacer "Content-Transfert-Encoding" par "Content-type"




*****
noisy communication - wherever, be everywhere!

vendredi 11 janvier 2008 à 17:06:59 | Re : pb pour forcer le telechagement

iron ian

Ca fait la même chose.
Je pense que ce n'est pas un probleme avec l'upload parce-que j'arrive à ouvrir les fichiers qui sont dans le dossier de fichiers uploadés.
En plus, quand je retire le move_upload et que je déplace le fichier manuellement ça ne passe pas non plus.
vendredi 11 janvier 2008 à 17:08:10 | Re : pb pour forcer le telechagement

malik7934

peut-être que c'est une question de droits chez ton hébergeur alors. Essaie de faire un chmod en uploadant à 755 par exemple

*****
noisy communication - wherever, be everywhere!

vendredi 11 janvier 2008 à 17:26:05 | Re : pb pour forcer le telechagement

iron ian

Mon site n'est pas en ligne. Mes fichiers ne vont pas sur un serveur, ils vont seulement dans un dossier.
vendredi 11 janvier 2008 à 18:18:41 | Re : pb pour forcer le telechagement

malik7934

"je déplace le fichier manuellement ça ne passe pas non plus" <-- Y a bien un problème là qui ne concerne pas PHP!

*****
noisy communication - wherever, be everywhere!

vendredi 11 janvier 2008 à 18:30:25 | Re : pb pour forcer le telechagement

sws2007

iron tu peux faire la page de telechargement juste avec du html et ça marche tu cré un repertoire qui va contenir les documents sous forme de fichier zip puis tu fais un lien simple vers le fichier et quant tu execute la pge avec "easyphp" ça affiche une fenetre qui contient ouivrir telecharger ou annuler et surtout n'oublie pas d'executer la page avec le serveur locale come wamp ou easyphp
vendredi 11 janvier 2008 à 18:48:32 | Re : pb pour forcer le telechagement

malalam

Administrateur CodeS-SourceS
Hello,

nan, t'as confondu
Content-Transfer-Encoding et Content-Type.
Content-Transfer-Encoding devrait être binary.
Et dans Content-Type du dois mettre le mime-type que tu testes dans ton switch.

1 2

Cette discussion est classée dans : fichier, type, case, break, name


Répondre à ce message

Sujets en rapport avec ce message

Ouvrir un fichier mis dans une base Sql [ par vincs51 ] Bonjour j'ai créé une base de donnée sous sql qui stock des info mais surtout des fichier de toute sorte (txt,xls,...)J arrive a enregistrer mes fichi Problème de téléchargement [ par jumano ] Bonjour,J'ai créé une petite application de gestion de courriers ARRIVEE et DEPART.J'ai une base centrale (MySQL) sur un site principal et j'ai des pe Forcer le téléchargement [ par nagor19 ] Salut,J'ai créer un code pour télécharger des fichiers (.jpg, .doc, .pdf et autres) et tout fonctionne à merveille ou presque. En effet, j'ai un probl Fonction utilisant un fichier .ini qui ne marche pas [ par nicomilville ] Salut,J'ai un problème avec 3 fonctions utilisant un fichier preferences.ini...Elle doivent afficher des smileys et des images en fonction du texte co problème d'upload [ par romiain ] Salut à tous, J'ai un problème avec mon upload, lorsque je charge une photo j'ai l'erreur suivante Notice: Undefined variable: name_file in c:\program problème avec upload [ par 01cod10 ] Bonsoir à tous,je n'arrive toujours pas uploader une photo dans mon répertoire et ma base comme je voulais. je vous présente les scripts que je compte Redirection vers un autre page a partir d'un menu deroulant [ par Tatoubest ] Bonsoir,J'ai réalisé un menu des plus simple qu'il existe et aimerais y intégrer, un redirection lorsque  l'on clique sur l'une des valeur de cette li Plusieurs case dans un switch [ par Rimb0 ] Bonjour à tous !J'ai écrit un bout de code...-------------------------------------case 'video':echo "$d[2] ";echo "(vue $d[0] fois)</span&gt redirection en php [ par Angelina38 ] Bonjour,Je suis en train de développer une fonction menu : Le langage de programmation utilisé est php.function menu($num){ switch ($num) { case 1 :   SWITCH & CASE contre quoi ? [ par elidris ] Bonjour à tous, Toujours dans un souci d'ameliorer mes connaissances (merci à vous), j'ai construit ce code qui me sert à compter le nombre de prover


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales