includere e richiedere problemi quando lo uso con il file fuori dalla cartella
Domanda
Di solito uso questa linea per importare file dalla cartella corrente e funziona perfettamente sul mio server host locale
require("../DataBase.class.php");
ma quando carico lo script sul mio sito Web ricevo questo avviso
Attenzione: include (../ DataBase.class.php) [function.include]: impossibile aprire stream: nessun file o directory
Soluzione
Alla modalità provvisoria non piace " ../" ;. Quindi dovresti sempre usare qualcosa come
require_once realpath(dirname(__FILE__) . '/..') . '/file.php';
Altri suggerimenti
Quello che sta probabilmente accadendo è che l'impostazione include_path in php.ini è diversa sul tuo server rispetto alla tua installazione locale di PHP / Apache. Insieme a questo, tieni presente che ../ non punta alla directory corrente in cui si trova il file, punta alla directory principale della directory corrente in cui ti trovi. Quello che consiglierei è scoprire il percorso completo di la radice del documento, quindi includendo i file in questo modo:
<?php
$full_path = "/var/www/htdocs"; // this should be your website's full path
require( $full_path . "/DataBase.class.php" );
?>
Stai cercando il file nella directory principale. Se lo desideri nella directory corrente, utilizza:
require 'Database.class.php';
Forse sul tuo server web locale ne hai una copia nella directory principale per qualche motivo che non esiste sul tuo server remoto.