inclure et exiger un problème lorsque je l'utilise avec un fichier hors du dossier

StackOverflow https://stackoverflow.com/questions/1416638

  •  06-07-2019
  •  | 
  •  

Question

J'utilise généralement cette ligne pour importer un fichier hors du dossier actuel et tout fonctionne correctement sur mon serveur hôte local

require("../DataBase.class.php"); 

mais lorsque je télécharge le script sur mon site Web, je reçois cet avertissement

  

Attention:   include (../ DataBase.class.php)   [function.include]: échec de l'ouverture   stream: Aucun fichier ou répertoire de ce type

Était-ce utile?

La solution

Le mode sans échec n'aime pas " ../" ;. Donc, vous devriez toujours utiliser quelque chose comme

require_once realpath(dirname(__FILE__) . '/..') . '/file.php';

Autres conseils

Ce qui se passe probablement est que votre paramètre include_path dans php.ini est différent de votre serveur que de votre installation locale de PHP / Apache. Par ailleurs, gardez à l’esprit que ../ ne pointe pas vers le répertoire actuel dans lequel se trouve le fichier, mais vers le répertoire parent du répertoire dans lequel vous vous trouvez. Ce que je vous conseillerais est de connaître le chemin complet la racine de votre document, puis en incluant vos fichiers comme ceci:

<?php

$full_path = "/var/www/htdocs"; // this should be your website's full path
require( $full_path . "/DataBase.class.php" );

?>

Vous recherchez le fichier dans le répertoire parent. Si vous le souhaitez dans le répertoire actuel, utilisez:

require 'Database.class.php';

Sur votre serveur Web local, vous en avez peut-être une copie dans votre répertoire parent pour une raison qui n'existe pas sur votre serveur distant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top