php
  • include
  • root
  • require-once
  • 2016-05-05 1 views 0 likes 
    0

    Firs d'im assez nouveau en PHP.PHP rquire_once de la racine

    Je souhaite inclure un fichier php de root dans un autre fichier php comme celui-ci.

    require_once "/getPublisher.php?id=' . $xy; 
    

    Le fichier où je tape ce code est dans '/page/page.php'.

    --------------- ROOT ----------------- 
        -page 
         -> page.php---------------- 
               - trying to require_once '/getPublisher.php' 
               - into '/page/page.php' 
        -getPublisher.php------------- 
    

    Je récupère ces codes d'erreur.

    Warning: require_once(/users/uplade/www/getPublisher.php?id=123) [function.require-once]: failed to open stream: No such file or directory in /users/uplade/www/page/page.php on line 83

    et

    Fatal error: require_once() [function.require]: Failed opening required '/users/uplade/www/getPublisher.php?id=123' (include_path='.') in /users/uplade/www/page/page.php on line 83

    Alors, comment inclure des fichiers racine dans des fichiers non root?

    EDIT:

    Warning: require_once(/getPublisher.php) [function.require-once]: failed to open stream: No such file or directory in /users/uplade/www/page/page.php on line 84

    IM QU'EST-CE QUE MAL FAIT.

    SOLUTION: J'ai supprimé la barre oblique require_once 'getPublisher.php'; C'est comme ça que ça a marché pour moi!

    +0

    Votre fichier est-il situé dans /users/uplade/www/getPublisher.php? – Webomatik

    +0

    inclure/requérir des fichiers par chemin de système de fichiers, pas de chemin Web; et vous y compris un fichier par nom, écrou comme url, alors ne passez pas les arguments de cette façon –

    +0

    @Webomatik oui c'est. Suppression de tous les paramètres, donne toujours la même erreur qu'avant. –

    Répondre

    0

    Vous ne pouvez pas utiliser les paramètres sur require(). Essayez de le supprimer:

    require_once "/getPublisher.php"; 
    
    +0

    déjà fait, rien ne change –

    +0

    S'il vous plaît nous montrer le nouveau message d'erreur PHP que vous obtenez. – Webomatik

    +0

    déjà mis à jour ma question –

    0

    Avec require_once "/getPublisher.php"; vous essayez d'inclure un fichier à partir de la racine du système de fichiers, et non à partir de la racine du document.

    Si les fichiers seraient dans le même répertoire, vous devez inclure comme ceci: require_once "getPublisher.php";

    Mais dans votre cas, il est d'un niveau, donc il suffit d'inclure comme ceci: require_once "../getPublisher.php";

    0

    reuire et include (et leurs variantes _once) localisent un fichier sur le système de fichiers en fonction de son chemin absolu, revenant à un ensemble configurable de chemins d'inclusion (utilisé pour placer des bibliothèques partagées dans des emplacements standard).

    Il y a deux façons de faire référence à un fichier fiable lorsque vous ne savez pas exactement où sur le système de fichiers, il sera (par exemple parce que vous allez installer le logiciel dans différents endroits sur différents serveurs):

    Par rapport à la racine du document, c'est le chemin configuré dans le serveur Web comme étant l'emplacement de l'URL "/".
    • Ce répertoire est disponible en tant que variable superglobale $_SERVER['DOCUMENT_ROOT']; par exemple. require $_SERVER['DOCUMENT_ROOT'] . '/getPublisher.php';
    • Par rapport au fichier actuel, c'est le fichier dans lequel vous écrivez le code PHP (quelle que soit la façon dont ce fichier a été accédé). Ce répertoire est disponible en tant que constante magique __DIR__; par exemple.require __DIR__ . '/../getPublisher.php';

    Avis dans le second exemple que je devais « monter » à partir du répertoire courant en utilisant .. qui signifie « répertoire parent »; vous pouvez grimper aussi haut que vous le souhaitez avec ceci: '/../../../../' etc.

    +0

    Il existe maintenant un canonique pour ce sujet ici: http://stackoverflow.com/questions/36577020/failed-to-open-stream-no-such-file-or-directory –

     Questions connexes

    • Aucun problème connexe^_^