Wie require_once aus verschiedenen Verzeichnissen?

Ich versuche, bedürfen meiner "library" - Dateien aus php-Dateien in verschiedenen Ordnern, aber es gibt Fehler, wenn Sie versuchen, auf Sie zuzugreifen aus einem Unterordner. Zum Beispiel habe ich ein solches Verzeichnis:

+ home    
- file1.php

 ++ subfolder
  - file2.php

 ++ libraries
  - code_generator.php
  - database_library.php

code_generator.php, hängt auch davon ab die andere Bibliothek:

(LINE 25) require_once(realpath("./libraries/database_library.php"));
//this works fine when called from file1.php, but not from file2.php

Ich versuche zu nennen, code_generator aus ./Unterordner/file2.php wie:

chmod("../libraries/codegenerator.php", 0777);  //for the error at the end of this question
require_once("../libraries/code_generator.php");

Wenn ich file2.php es ergibt 2 Fehler:

**Warning**: require_once(C:\xampp\htdocs\home\subfolder): failed to open stream: Permission denied in C:\xampp\htdocs\home\libraries\code_generator.php on line 25

**Fatal error**: require_once(): Failed opening required '' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\home\libraries\code_generator.php on line 25

*Zeile 25 require_once(realpath("./libraries/database_library.php"));

  • Ich denke, dass, wenn Sie haben keine Berechtigungen um diese Datei zu öffnen, weder müssen Sie chmod es.
  • das ist, was ich bin, zu Ahnen. die realpath () - Funktion korrekt aus file1.php aber es gibt in leer file2.php. Ich glaube, ich bin falsch. Aber was ist der richtige Weg?
  • Ich bemerkte dies im PHP-Handbuch für realpath() : "Das ausführen von Skripts müssen die ausführbaren Berechtigungen für alle Verzeichnisse in der Hierarchie, sonst realpath() FALSE zurückgeben." Also, wie bekomme ich die "Berechtigungen"?
InformationsquelleAutor marvin | 2013-02-08
Schreibe einen Kommentar