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 :

afficher des fichiers sous forme de lien


Sujet :

Langage PHP

  1. #21
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Points : 6
    Points
    6
    Par défaut afficher des fichiers sous de lien
    j'ai commenter toutes les lignes avec un header().comme ca
    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
     
    <?php
    //if (isset($_GET['file'])) {
    	//$file = preg_replace('/[^0-9a-z\.\_\-]/i','',$_GET['file']);
    	//var_dump($_GET['file']);
    if (isset($_GET['file'])) {
    	$file = preg_replace('/[^0-9a-z\.\_\-]/i','',$_GET['file']);
    var_dump($file);
    	$dir='c:\willy\ ';
    	$fullpath = $dir.$file;
     
    	if (is_file($fullpath)) {
    		//header("Content-disposition: attachment; filename=".$file);
    		//header("Content-length: ".filesize($fullpath));
    		//header('Content-Type: application/octet-stream');
    		//header('Content-Transfer-Encoding: binary');
    		readfile($fullpath);
    	}
           else { echo $fullpath .' n est pas un fichier'; }
    }
    else { echo 'file est vide'; }
    ?>
    sans afficher la fenetre de telechargement,le clique
    sur un lien ouvre une fenetre avec plusieurs caracteres.
    donc pas de message d'erreur.

  2. #22
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je me repete mais tu as toujours l'espace dans ton chemin.

  3. #23
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Points : 6
    Points
    6
    Par défaut afficher des fichiers sous de lien
    Salut et surtout Bonjour !!!
    le fait est que lorsque je mets
    par exemple ceci:

    ou encore ceci:
    lorsque je clique sur le lien accueil.doc deja la fenetre de telechargement n'apparait meme pas
    et on m'affiche un message comme ca:

    string(12) " accueil.doc" string(11) "accueil.doc" c:\willy\accueil.doc n est pas un fichier.

    par contre lorsque j'ecris comme plus c'est a dire:
    la fenetre de download apparait normalement,
    mais les fichiers downloader sont illisibles

  4. #24
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    J'ai testé le script et il fonctionne.
    Il ne peut evidemment ni fonctionner avec un espace ajouté sur le repertoire ou sans le \ final.

    Je t'invite à vérifier que tu n'as pas modifié quelque chose :
    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
    <?php
    if (isset($_GET['file'])) {
    	$file = preg_replace('/[^0-9a-z\.\_\-]/i','',$_GET['file']);
    	$dir='c:\\willy\\';
    	$fullpath = $dir.$file;
     
    	if (is_file($fullpath)) {
    		header("Content-disposition: attachment; filename=".$file);
    		header("Content-length: ".filesize($fullpath));
    		header('Content-Type: application/octet-stream');
    		header('Content-Transfer-Encoding: binary');
    		readfile($fullpath);
    	}
           else { echo $fullpath .' n est pas un fichier'; }
    }
    else { echo 'file est vide'; }
    ?>
    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
    <?php
     
       $dir='C:\willy';
     
       if(@is_dir($dir)){// On vérifit que le dossier existe
     
        $dh = opendir($dir);// On ouvre le repertoire    
     
        while(($file = readdir($dh)) !== false){// Boucle pour parcourir le repertoire
     
    	   echo '<a href="download.php?section=willy&file=' . $file . '">Fichier : '.$file.'</a><br />';
     
        }
        closedir($dh);// On ferme le repertoire
     
        unset($nomFich,$dir,$dh);// On supprime les variables qui servent à rien
     
    }else{
     
        echo '<p style="text-align: center;">Le dossier <strong>',$dir,'</strong>
     
     n\'existe pas.</p>';
     
    }
    ?>

  5. #25
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Points : 6
    Points
    6
    Par défaut afficher des fichiers sous de lien
    OK !!! on a encore fait un grand pas en avant
    je parviens a downloader les fichiers et je les ouvrent
    sans probleme,je te remercie encore
    car grace a toi j'ai reellement avance.
    toutefois lorsque j'ouvre un fichier sans
    l'enregistrer,je le modifie mais je ne parviens
    pas a le reenregistrer un message pareil s'affiche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    file is read-only
    c:\document~\euroil\Temp\
    mais pire, il ya autre
    chose de vraiment tres
    surprenant
    depuis la,je faisais les tests et je suis depasse,
    lorsque comme tu me la demande je mets:
    j'envois bien les fichiers au niveau du serveur
    a parti du client,mais je ne parviens pas a les
    downloader,c'est seulement lorsque
    j'ajoute un fichier depuis le serveur ou que je
    renomme un autre que
    je reussie a le downloader
    a partir du client,par contre lorsque je mets:

    j'envoie et je download a parti du client certains
    fichiers,et ceux ajouter directement a parti
    du serveur je ne parviens pas,bref tout est terriblement bizarre.
    un dernier effort STP.

  6. #26
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    toutefois lorsque j'ouvre un fichier sans l'enregistrer,je le modifie mais je ne parviens pas a le reenregistrer
    lorsque tu telecharges un fichier, il est enregistré sur ton poste client ; si tu le modifies, ca sera uniquement sur ton poste, pas sur le serveur.

  7. #27
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Points : 6
    Points
    6
    Par défaut afficher des fichiers sous de lien
    Salut,

    Je comprends bien qu'avec la programmation qu'on a faite,on ne peut ouvrir
    un fichier directement sur le serveur pour le modifier.
    Merci pour ta reponse.

    Concernant ma deuxieme question,apres d'autres tests j'ai plutot
    fait le constat suivant,j'avoue que la question precedente etait vague et pas comprehensible:
    - les fichiers dont les noms contiennent des espaces exp: "page accueil.doc"
    ne sont pas telechargeables,certainement une modification du download.php
    dans le but de recuperer les fichiers avec espace.

    merci encore pour l'aide.

  8. #28
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour le problème de caractères pas gentil tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	   echo '<a href="download.php?section=willy&file=' . urlencode($file) . '">Fichier : '.$file.'</a><br />';
    et a l'arrivée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (isset($_GET['file'])) {
    $file = preg_replace('/[^0-9a-z\.\_\-]/i','',urldecode($_GET['file']));

  9. #29
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Points : 6
    Points
    6
    Par défaut afficher des fichiers sous de lien
    Je ne sais si au niveau de l'arrivee cad

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (isset($_GET['file'])) {
    $file = preg_replace('/[^0-9a-z\.\_\-]/i','',urldecode($_GET['file']));
    Au lieu de il fallait plutot mais bon que ce soit l'un ou l'autre
    cas j'ai fait des tests et j'ai le meme
    message : c:\willy\page accueil.doc n'est pas un fichier

Discussions similaires

  1. Afficher des données sous forme d'un tableau.
    Par Khaoula.85 dans le forum MFC
    Réponses: 3
    Dernier message: 29/10/2009, 14h56
  2. Afficher des données sous forme de tableau
    Par poti67 dans le forum JSF
    Réponses: 10
    Dernier message: 24/09/2008, 15h35
  3. [MySQL] Afficher des résultat sous form de tableau invisible ?
    Par tentsuken dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/01/2008, 15h18
  4. afficher des données sous forme de liste
    Par yannick9 dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/08/2007, 14h32
  5. jsp+afficher des données sous forme de graphes
    Par oasma dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 25/03/2007, 13h24

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