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 :

include et url relatives


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut include et url relatives
    Bonjour,

    Il arrive parfois que je reçoive ce message d'erreur lorsque je charge ma page:
    Warning: include() [function.include]: URL file-access is disabled in the server configuration in /index.php on line 101

    Warning: include(http://monsite.com/include/file.php) [function.include]: failed to open stream: no suitable wrapper could be found in /index.php on line 101

    Warning: include() [function.include]: Failed opening 'http://monsite.com/include/file.php' for inclusion (include_path='.:/usr/services/vux/lib/php') in /index.php on line 101
    J'ai lu que cela pouvait venir du fait que j'utilise des url absolues. Pouvez-vous me confirmer?
    Et si c'est le cas, comment écrire une adresse relative dans le cas suivant:
    Je me trouve dans le fichier http://monsite.com/dossier1/dossier2/fichier.php
    et je veux appeler un fichier qui se trouve dans
    http://monsite.com/unautredossier1/fichier.php

    hum hum...Sui-je claire?

    J'ai essayé de modifier les urls, mais je n'arrive pas à appeler un fichier qui se trouve dans un autre dossier comme dans mon exemple, et je ne voudrais pas modifier tous mes fichiers, si le problème ne vient pas réellement de là.

    Merci d'avance pour vos réponses, je ne sais pas ce que je ferais sans vous!

  2. #2
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Tu essayes d'inclure un fichier en donnant une URL selon le protocole HTTP. PHP va donc se comporter comme s'il s'agissait d'un fichier extérieur. Voir le manuel PHP sur fopen() à ce sujet :

    Si PHP a décidé que filename spécifie un protocole enregistré, et que ce protocole est enregistré comme un protocole réseau, PHP s'assurera que la directive allow_url_fopen est activée. Si elle est inactive, PHP va émettre une alerte et l'ouverture va échouer.
    Source : http://fr2.php.net/manual/fr/function.fopen.php

    Quand tu inclus des fichiers locaux, ce qui est le cas sauf exception motivée, il faut donner le path. Dans ton cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once(dirname(__FILE__)."/../../../unautredossier/fichier.php");
    devrait faire l'affaire : dirname(__FILE__) donne le chemin d'accès au répertoire où se trouve le fichier qui fait l'include, il reste à compléter le chemin pour accéder au fichier à inclure.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci beaucoup!!!!
    Ça marche super bien.

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

Discussions similaires

  1. include - sous dossiers - url relatives
    Par xufux dans le forum Débuter
    Réponses: 2
    Dernier message: 18/05/2008, 12h56
  2. [URL] url relative et absolue
    Par K-Kaï dans le forum Servlets/JSP
    Réponses: 17
    Dernier message: 21/07/2006, 10h48
  3. Réponses: 1
    Dernier message: 11/03/2006, 21h19
  4. parser une url relative
    Par yule dans le forum Langage
    Réponses: 5
    Dernier message: 11/03/2006, 09h47
  5. [WebForms]Mettre l'URL relative vers un fichier
    Par Immobilis dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 08/11/2005, 22h32

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