incluir y requerir un problema cuando lo uso con el archivo fuera de la carpeta
Pregunta
Normalmente uso esta línea para importar archivos desde la carpeta actual y funciona bien en mi servidor host local
require("../DataBase.class.php");
pero cuando subo el script en mi sitio web recibo esta Advertencia
Advertencia: incluir (../ DataBase.class.php) [function.include]: error al abrir transmisión: No existe tal archivo o directorio
Solución
El modo seguro no le gusta " ../" ;. Así que siempre debes usar algo como
require_once realpath(dirname(__FILE__) . '/..') . '/file.php';
Otros consejos
Lo que probablemente está sucediendo es que su configuración de include_path en php.ini es diferente en su servidor que en su instalación local de PHP / Apache. Junto con esto, tenga en cuenta que ../ no apunta al directorio actual en el que se encuentra el archivo, apunta al directorio principal del directorio actual en el que se encuentra. Lo que recomendaría es encontrar la ruta completa a la raíz de su documento, luego incluya sus archivos de esta manera:
<?php
$full_path = "/var/www/htdocs"; // this should be your website's full path
require( $full_path . "/DataBase.class.php" );
?>
Está buscando el archivo en el directorio principal. Si lo desea en el directorio actual, use:
require 'Database.class.php';
Quizás en su servidor web local tenga una copia en su directorio principal por alguna razón que no existe en su servidor remoto.