Wie man relative Pfadbildung tut? wie __dir__
php wie zu relativer Pfadangabe
hier zu verwenden ist meine Dateistruktur vor
public_html
├── config
| |__config.php
├── core
| |__init.php
├── helper
| |__helper.php
├── libraries
| |__page1.php
├── templates
│ ├── page1template.php
│
│__index.php
│__page1.php
Nachdem zu viele Seiten haben. Ich möchte sie in den Ordner "rep" und den Ordner "admin" bringen. so sieht meine neue Dateistruktur so aus
Das Problem ist, meine Anforderungen und enthalten sind immer noch absoluter Pfad. sehen eine Probe unter
meine Init-Datei
//Start Session
session_start();
//Include Configuration
require_once('config/config.php');
//Helper Function Files
require_once('helpers/system_helper.php');
require_once('helpers/format_helper.php');
//Autoload Classes
function __autoload($class_name){
require_once('libraries/'.$class_name .'.php');
}
mein page1.php
<?php require('core/init.php'); ?>
//Get Template & Assign Vars
$template = new Template('templates/rep/page1.php');
wenn ich ein "../" vor jedem Pfad hinzufügen. dann wird die Seite korrekt geladen. siehe unten
require_once('../config/config.php');
require_once('../helpers/system_helper.php');
require_once('../helpers/format_helper.php');
require_once('../libraries/'.$class_name .'.php');
require('../core/init.php');
$template = new Template('../templates/rep/page1.php');
aber dann wird meine index.php brechen, weil Index im Stammordner ist, so dass der neue Weg, um es falsch ist relativ. Ich habe zwei Fragen mit dazugehörigem Problem gefunden. Ich vermute, es ist mit der Verwendung von __dir__
zu ersetzen ../aber ich weiß nicht, wo ich es setzen soll.
Are PHP include paths relative to the file or the calling code?
danke. Ich habe Stunden damit verbracht, deinen Beitrag zu lesen, und diesen wieder und wieder. Am Ende habe ich dirname (__ DIR __). '/ path/to.file' verwendet und es hat funktioniert. http://stackoverflow.com/questions/36577020/failed-to-open-stream-no-such-file-or-directory/36577021#36577021 – codenoob