IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] DOWNLOADER un fichier


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 3
    Par défaut [Upload] DOWNLOADER un fichier
    Bonjour, j'ai souhaité installer un systeme upload/download sur mon site hébergé par free.fr.

    L'upload a l'air de fonctionner même si parfois ça coince un peu ( a condition que le fichier fasse 2 még maxi).
    Par contre quand je download le fichier et que je veux l'utiliser sur mon poste, le format n'est pas reconnu ( en word par exemple) .
    Voici le script download.php sachant que les fichiers a downloader sur le serveur sont dans le dossier "upload" :
    --------------------------------------------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php
    $tableau = explode (".", $file);
    $nb_element_1 = count ($tableau) -1;
    if ($tableau[$nb_element_1] != "php") {
            header("Content-disposition: attachment; filename=$file");
     
            header("Content-Type: application/force-download");
            header("Content-Transfer-Encoding: binary"); 
            header("Content-Length: ".filesize("./fichiers/".$file));
            header("Pragma: no-cache");
            header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
            header("Expires: 0");
            readfile("./upload/".$file);
    }
    else {
            header("Location: index.php");
    }
    ?>
    -------------------------------------------------------------------------
    Le code permettant d'afficher la liste des fichiers a telecharger sur la page de l'utilisateur est le suivant :
     
     
    // on ouvre le répertoire
    $dossier = opendir ("./upload/"); 
     
    // on regarde tous les éléments du dossier
    while ($fichier = readdir ($dossier)) {
            // on teste la valeur de l'élément
            if ($fichier != "." && $fichier != "..") {
                    $tableau = explode (".", $fichier);
                    $nb_element_1 = count ($tableau) - 1;
                    if ($tableau[$nb_element_1] != "php") {
                    // si l'élément est bien un fichier (différent de . et de ..), et que sont extension n'est pas php, on affiche un lien vers notre script de téléchargement (download.php) avec en paramètre le nom du fichier à télécgarger
                            echo '<a href="./download.php?file='.$fichier.'">'.$fichier.'</a><br />';
                    }
            }
    } 
     
    // on ferme le dossier
    closedir ($dossier);


    merci de m'aider
    @+

  2. #2
    Membre chevronné Avatar de TucSale
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 264
    Par défaut
    bonjour,

    je pense que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Content-Type: application/force-download");
    n'est pas correcte, le mieux est que tu envois le header correspondant à l'extension de ton fichier.

    Ou alors

    Instead of using
    <?php
    header('Content-Type: application/force-download');
    ?>
    use
    <?php
    header('Content-Type: application/octet-stream');
    ?>
    Some browsers have troubles with force-download.
    fr.php.net

Discussions similaires

  1. Upload/download un fichier
    Par fahmi.bedoui dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 21/11/2011, 10h18
  2. uploader /downloader un fichier pdf sur un serveur
    Par xaupaix dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 01/04/2010, 16h12
  3. [Joomla!] Joomla et UPLOAD / DOWNLOAD de fichiers
    Par fab2007 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 08/03/2007, 19h03
  4. Upload et download de fichier sans utiliser JSP
    Par RR instinct dans le forum Langage
    Réponses: 8
    Dernier message: 30/08/2006, 12h08
  5. [SQL] Upload/download de fichiers ou images dans une BDD sql
    Par boniface dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/07/2006, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo