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 :

Liens symboliques, symlink()


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Par défaut Liens symboliques, symlink()
    Bonjour,

    je souhaiterais savoir comment fonctionnent les liens symboliques, l'utilisation de la fonction symlink() me retourne ce warning :

    Warning: symlink(): Could not fetch file information(error 123)
    Le code provient de php.net :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $target = 'uploads.php';
    $link = 'uploads';
    symlink($target, $link);
     
    echo readlink($link);
    Je suis sur Wamp, et W10.

    Ce que je souhaiterais savoir, c'est déjà pourquoi ça en marche pas, et s'il est possible avec les liens symboliques d'avoir par exemple cette arborescence :

    Dossier A
    a.php
    child.php

    Dans le code a.php, est inclus child.php à l'aide d'un include "child.php";

    ___________________________________________________________________________

    Dossier B
    b.php
    child.php

    b.php ne contient rien, ce doit être uniquement un lien symbolique qui pointe vers a.php SAUF QUE que je veux que même si il pointe vers a.php, lorsqu'il tombe sur la ligne include "child.php", qu'il prenne le child.php du dossier B et pas du A. Et si je veux qu'il prenne le child.php du dossier A, à ce moment là, je fais un lien symbolique sur child aussi. Comme ça je peux me servir des fichiers que je veux du dossier A et parfois quand cela le nécessite, les réécrire dans le dossier B et prendre ceux du dossiers B.

    J'ai trouvé très peu de problématiques sur les liens symboliques.

    Je vous remercie d'avance pour votre éclairage.

  2. #2
    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
    Il faut indiquer des chemins complets, pas seulement le nom du fichier même s'il est dans le répertoire du script et il faut que le serveur aient des droits administrateurs (tout du moins les droits de création des liens symboliques).
    Mais il n'y a pas d'interêt de passer par PHP pour créer le lien, autant le faire directement avec Windows.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre très actif

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Par défaut
    Merci, j'avais mis un chmod à 777, et tenté en lien relatif et absolu, mais rien n'y faisait.

    Je vais m'intéressais aux liens symboliques Windows, merci.

  4. #4
    Membre très actif

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Par défaut
    Salut,

    ça marche, avec des hardlink comme avec des liens symboliques, je laisse donc tomber le php à ce sujet.

    Merci.

  5. #5
    Membre très actif

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Par défaut
    Simple petite question concernant les liens symboliques, quand je créé un fichier symbolique, je le vois bien s'afficher avec une petite flèche comme pour les raccourcis, mais par contre les dossiers symboliques eux sont invisibles, inaccessibles. Pourtant la console me dit qu'ils ont bien été créés et je dois faire un rmdir pour supprimer le dossier avant de retenter. Je ne sais pas pourquoi.

  6. #6
    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
    Personnellement j'ai bien un dossier avec une fleche sur Windows 10.
    Tu es sûr de regarder dans le bon repertoire ? indique le chemin entier pour le lien pour être sûr.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lien symbolique entre Apache et Tomcat sous Debian
    Par rohstev dans le forum Administration système
    Réponses: 17
    Dernier message: 13/05/2008, 10h33
  2. lien symbolique
    Par cubepiege dans le forum Windows
    Réponses: 5
    Dernier message: 12/08/2005, 14h26
  3. Lien symbolique dansle repertoire du ftp - Proftpd
    Par __fabrice dans le forum Réseau
    Réponses: 8
    Dernier message: 20/05/2005, 20h31
  4. Précisions sur lien symbolique
    Par SteelBox dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 19/09/2004, 15h41
  5. [Kylix] pb avec lien symbolique
    Par sdoura2 dans le forum EDI
    Réponses: 1
    Dernier message: 13/12/2002, 22h16

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