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 le contenu d'un fichier en php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut afficher le contenu d'un fichier en php
    Bonjour,

    je suis dans un contexte où une chose évidente ne fonctionne pas avec Firefox (seulement avec Internet Explorer) : faire un lien html sur un fichier hébergé sur un serveur local (c'est de l'intranet) :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="file:\\Wsfr00901\....xls" target="_blank" >
    ....xls</a>
    .
    Avec Firefox, il n'y a pas de message d'erreur comme quoi il ne trouve pas le fichier ; il ne se passe rien quand on clique. Pour contourner ce phénomène, je tente d'ouvrir ce fichier autrement :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="openfile.php" >
    ....xls</a>
    openfile.php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo file_get_contents('\\Wsfr00901\....xls'); 
    ?>
    Mon souci est que si le lien envoit bien sur openfile.php, ce fichier n'affiche rien et que si je rajoute un var_dump :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    var_dump(file_get_contents('\\Wsfr00901\....xls'));
    echo file_get_contents('\\Wsfr00901\....xls'); 
    ?>
    il affiche false. Donc file_get_contents ne parvient à accéder au fichier. Y a-t-il un moyen de s'en sortir ?

  2. #2
    Membre éclairé Avatar de Pahcixam
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Par défaut
    Bonjour,

    Je vois que le lien pointe vers un partage Samba. Pour l'ouvrir en php, il faut que le serveur ait les droits nécessaires.

    N'est-il pas possible de monter le répertoire distant sur le serveur de prod pour accéder de manière classique au fichier ?

    Que dit firefox vis à vis du lien en question en l'analysant via la console de développement F12 ?

  3. #3
    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
    Par défaut
    Firefox n'autorise plus les accès file://
    http://kb.mozillazine.org/Firefox_:_...Don&#39;t_Work
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Donc d'après le lien de Sabotage, y a rien à faire...

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 7
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Firefox n'autorise plus les accès file://
    C'est pas si simple. Ce code dans mon navigateur FireFox 52.0.1 fonctionne très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href=file:///C:/wamp/www/page2.html>go</a>
    Le lien vers lequel nous renvoie sabotage commence par : "For security purposes, Mozilla applications block links to local files (and directories) from remote files.". Donc ce ne sont pas tous les file:// qui ne sont plus autorisés. Et en Intranet (donc purement réseau local) il reste peut-être des possibilités, comme c'est le cas dans mon test. Je ne maîtrise pas assez bien l'anglais pour comprendre les subtilités expliquées dans le lien donné par sabotage.

    Je vous suggère de commencer par :
    - remplacer les antislashes (\) par des slashes (/) : j'ai déjà vu FireFox mal réagir sur de simples liens qui comportaient des antislashes (qui ne sont pas le standard HTML),
    - tester votre file:// à destination d'un fichier sur le disque local, pour vérifier si oui ou non sabotage se trompe,
    - prendre en compte ce que dit Pahcixam, ça a l'air très pertinent.

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    j'ai remplacé les antislashes par des slashes.

    J'ai fait un test sur un fichier placé sur le disque local :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="file:///text.html">test</a>
    et
    test.html :
    Le souci est que même IE ne l'affiche pas si je clique sur le lien !

    Sinon, j'ai vu que après le file: tu plaçais 3 slashes (par exemple <a href="file:///text.html">test</a>) au lieu de 2. L'intérêt si je fais ça, c'est que si je survole le lien sous Firefox, le lien qui s'affiche dans la barre dessous est correct ce qui n'était le cas avec seulement 2 slashes.

    Dans la phrase du lien de Sabotage, la suite dit :
    For security purposes, Mozilla applications block links to local files (and directories) from remote files. This includes linking to files on your hard drive
    (je vois pas en quoi c'est des remote files, mais du coup, normal si ça ne marche pas).

    Citation Envoyé par Pahcixam Voir le message
    N'est-il pas possible de monter le répertoire distant sur le serveur de prod pour accéder de manière classique au fichier ?
    Non, car ces fichiers doivent rester disponibles et changer leur emplacement serait très lourd.

    Citation Envoyé par Pahcixam Voir le message
    Que dit firefox vis à vis du lien en question en l'analysant via la console de développement F12 ?
    Moi, non seulement, je ne maîtrise pas non plus l'anglais, mais pas non plus la console de développement, donc une fois lancée avec F12, je ne sais pas aller plus loin...

  7. #7
    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
    Par défaut
    Par contre ta solution alternative reste valable si tu arrives à donner les droits au serveur Apache vers le partage Windows.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Afficher le contenu d'un fichier texte avec des balise PHP
    Par bastian06n dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2010, 10h30
  2. [MySQL] Afficher le contenu d'un fichier d'un repertoire avec PHP
    Par barose dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/04/2009, 23h37
  3. Réponses: 2
    Dernier message: 20/11/2006, 13h55
  4. Réponses: 2
    Dernier message: 20/11/2005, 18h54
  5. Réponses: 1
    Dernier message: 12/02/2003, 09h36

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