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 :

Probleme de liens vers un fichier


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut Probleme de liens vers un fichier
    Bonjour, je me retrouve face a une erreur assez bete,

    c'est a dire que je fait un icone qui renvoi vers une fichier pdf.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $printBl = "<a href='$url' target='_blank'><img src='./images/icone_fiche.jpg'/></a>";
    Evidement il y a les balise php qui vont bien avec.
    ma variable a comme valeur ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $repRecherche = "./PDF_OTEC_RECHERCHE/";
    en local de www cela fonctionne tres bien mais si je veux mettre mon dossier a la racine du c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $repRecherche = "C:/PDF_OTEC_RECHERCHE/";
    cela ne fonctionne plus y a t'il une raison qui m'échappe?

    Je précise que d'autre programme utilise se dossier et que j'aurai besoin qu'il soit a la racine de C:

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    La racine (C: ou / sous Linux) n'est pas accessible par Apache, c'est mentionné dans sa configuration par défaut:

    Tu dois mettre ton fichier quelque part dans ton répertoire web (C:\wamp\www ou /var/www sous Linux) pour qu'il soit accessible depuis le navigateur ou alors changer ta configuration Apache (httpd.conf)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    D'accord je comprend

    Cela a t'il un rapport avec les alias de dans localhost?

    merci d'avance

  4. #4
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Non, les alias sont là pour faire correspondre des paths du serveur web sur des paths du système de fichier. En gros, ils agissent comme des liens symboliques (sauf qu'ils ne sont pas concernés par la directive follow symlink).

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    Bonjour,

    j'ai fait des recherche et je dois avouer que je ne trouve rien de concluant c'est un peu gênant, surtout que j'ai besoin d'avoir accès a des lecteurs réseaux.

    Mise a part les alias qui n'est pas vraiment adapté je ne trouve pas grand chose.

    Pouvez vous m'éclairer?

  6. #6
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Alias /downloads "X:/chemin/vers/tes/fichiers"
     
    <directory "X:/chemin/vers/tes/fichiers">
      Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order Allow,Deny	
        Allow from all
    </directory>
    L'ancre devient alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="/download/monfichier.pdf">...</a>

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    Finalement nous en revenons a créer un alias alors ?

    et si je veux que ma variable $chemin point un dossier qui est sur un lecteur reseaux je vais donc avoir ceci?
    En sachant que le fichier.php qui contient c'est deux variable est dans www

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $target = "./monDossier/";
    $chemin = "./dossierDistant/";

  8. #8
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Un alias est une façon de résoudre le problème. On aurait aussi pu créer un virtual-host ou mettre un lien symbolique ou encore faire renvoyer le flux du fichier par PHP, c'est pas les solutions qui manquent.

    et si je veux que ma variable $chemin point un dossier qui est sur un lecteur reseaux je vais donc avoir ceci?
    En sachant que le fichier.php qui contient c'est deux variable est dans www
    Je comprends pas, tu peux traduire ?

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    d'accord malheureusement je ne connais pas toutes ces solutions.

    Citation:
    et si je veux que ma variable $chemin point un dossier qui est sur un lecteur reseaux je vais donc avoir ceci?
    En sachant que le fichier.php qui contient c'est deux variable est dans www
    Je comprends pas, tu peux traduire ?
    Et bien pour être plus clair, j'ai un fichier ou je met tout mes liens, et qui est inclus dans les pages qui en ont besoin.

    Mon application tourne donc en local dans les www, cependant j'ai besoin de faire appel a un lecteur réseaux pour sauvegarder des fichiers.

    et donc ma variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chemin = "./dossierDistant/";
    dois pointer sur mon lecteur réseaux.

    j'ai test déjà ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chemin = "\\\\@IP_local_serveur\Nom_du_dossier";
    sans résultat .

  10. #10
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Alors deux choses:
    - quand PHP à besoin de lire / écrire des fichiers, il a besoin de paths (sous Windows c'est de la forme X:/chemin/vers/le/fichier.ext, sous linux c'est /chemin/vers/le/fichier.ext), il faut utiliser des chemin système.
    - quand on veut donner l'accès à un utilisateur web, il faut mettre des liens relatifs à la racine du serveur web (par exemple si la racine du serveur web est C:/wamp/www et que le fichier est dans C:/wamp/www/chemin/vers/mon/fichier.ext, l'URL pour y accéder est http://domaine/chemin/vers/mon/fichier.ext - le domaine est optionnel). Si le fichier à accéder est en dehors du répertoire racine du serveur web, alors Apache ne peut pas y accéder directement, il faut mettre un alias (c'est de loin le plus simple).

    Si c'est pour un projet perso / local, tu peux également utiliser une URI de cette forme: file://C:/chemin/vers/le/fichier.ext, ça va marcher dans un navigateur depuis ta machine mais ça marchera évidement pas sur les autres machines.

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    D'accord,

    donc je dois créer un alias, alors c'est partis j'ai vue une video qui se sert des fonctionnalité de wamps sans avoir a taper plein de code. est ce fiable ?

    http://www.formatix.eu/wamp-server-ajouter-alias-apache

    je reviens vers vous après.

  12. #12
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Heu... les alias c'est pas vraiment compliqué. Plutôt que de regarder une vidéo regarde la documentation d'Apache: http://httpd.apache.org/docs/2.0/mod/mod_alias.html

    Fais-le à la main, comme un Homme !

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    Mouai sans vouloir etre vexant on ne peux pas dire quel la documentation respire la clareté.
    Je suppose que c'est dans la fichier conf.ini que je aller mais a quel endrois du fichier dois je faire les modif? mystere.

    j'ai toute fois tester la méthode de la video, bien que je ne soit pas contre d'apprendre a la faire a la main.
    Je me suis dis pourquoi mettre un liens sur un lecteur reseaux qui point lui aussi sur un dossier partager sur un autre poste.
    J'ai donc directement tapé "\\192.168.0.61\test_dev"
    avec comme alias test_dev et comme variable ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $repSave = "/test_dev/";
    cependant dans localhost je ne parviens pas a accéder au dossier.
    J'ai donc deux idée soit un problème de droit ?
    soit une mauvaise syntaxe.

    A savoir que le dossier a les droits pour la session qui utilise l'ordinateur ou est situé le wamp, j’espère juste que localhost ne se présente pas au dossier avec un autre identifiant.

  14. #14
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    ....bon, pour ajouter des Alias dans wamp, il suffit d'ajouter un fichier <nomalias>.conf dans C:/wamp/alias et d'y mettre le contenu que je t'ai donné tout à l'heure.

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    ça c'est claire et précis je vous remercie

    Quand est'il de mon problème d’accès ? ai je une bonne syntaxe?

    Je recréer de suite mon alias a la manière d'homme.

  16. #16
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Oui, si l'alias est bien défini pour /test_dev/ normalement l'accès devrait être permi.

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    Bon Bon Bon,

    J'ai donc supprimer mon alias, sans problème j'ai recréer un alias comme les hommes d’après vous. Cependant je redémarrer mon wamp et hop apache ne se lance plus grrr (je me demande quand est ce que quelque chose fonctionnera correctement)

    J'ai donc enlever le fichier, redémarré wamp, et hop apache se lance.
    J'ai donc essayer de refaire comme dans la vidéo et la hop apache plante. J'ai fais plein de test et tout, impossible d'ajouter un alias si je veux garder mon service apache.

    ... heureusement que c'est simple et rapide de faire a alias...

    Auriez vous une idée pour que je puisse, avancer dans mon code svp?

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    Apres plusieurs test dans tout les sens, il s’avère que si je rentre "w:/" apache ne démarre pas. En revanche si je met l'ip directement "\\ipDeMonDossier" cela fonctionne, apache redémarre, me reste un problème d’accès ensuite .

    C'est a dire que en fonction de ma syntaxe
    Alias /testDev "\\192.168.0.61/test_dev/"
    j'ai l'erreur 404 non trouvé mais la maintenant j'ai 403 accès refusé.
    C'est que le chemin est bon, mais il dois y avoir un problème de droit je pense.

    une idée?

  19. #19
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    La directive Order est bien à Allow,deny et tu as bien la directive Allow from all ?

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    J'ai ceci
    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
    Alias /testDev "\\192.168.0.61/test_dev/" 
     
    # to give access to phpmyadmin from outside 
    # replace the lines
    #
    #        Order Deny,Allow
    #	Deny from all
    #	Allow from 127.0.0.1
    #
    # by
    #
    #        Order Allow,Deny 
    #   Allow from all
    #
     
    <Directory "\\192.168.0.61/test_dev/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
            Order Allow,Deny
    	Allow from all
    </Directory>
    Donc je peux répondre oui
    Il faut savoir que mon fichier sur un autre poste, il y a un AD sur le serveur .

Discussions similaires

  1. Lien vers un fichier sonore
    Par Jamie88 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 24/08/2005, 11h53
  2. lien vers un fichier à partir d’un bouton
    Par amelhog dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 10/08/2005, 16h39
  3. |VB6] Comment Lister les liens vers des fichiers d'une page web
    Par Mayti4 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 18/01/2005, 19h17
  4. Lien vers un fichier en intranet
    Par argoet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 07/01/2005, 17h04
  5. Lien vers un fichier .xls
    Par Laurent Nève dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/12/2004, 09h57

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