2016-07-14 16 views
0

Die Struktur Richtung folgendeWarum funktioniert das "include" nicht im Beispielcode?

  • Quellordner

    • Motor
      • Klassen
        • CalendarClass.php
      • Datenbank
        • Andere
        • DBLink.php
    • Fonts
    • Imgages
    • JS
    • Seiten

      • calendar.php
    • Stil

Wenn ich die DBLink.php Klasse zum CalendarClass.php aufzunehmen versucht, erhalte ich die folgende Fehlermeldung:

Warnung: include (../ Database/DBLink.php): Stream konnte nicht geöffnet werden: Keine solche Datei oder kein Verzeichnis in D: \ apache \ htdocs \ Engine \ Classes \ CalendarClass.php in Zeile 3

Warnung: include(): Fehler beim Öffnen von '../Database/DBLink.php' zur Einbindung (include_path = 'D: \ apache \ php \ PEAR') in D: \ apache \ htdocs \ Engine \ Classes \ CalendarClass.php auf Linie 3

Fatal error: Class 'DBLink' nicht in D: \ apache \ htdocs \ Engine \ Classes \ CalendarClass.php on line 10

der Inhalt des Calendar. php:

<?php 

include "../Database/DBLink.php"; 

class CalendarClass{ 

    private $link; 

    function __construct() { 
     $this->link = new DBLink(); 
    } 

    function UpdateCalendar(){ 
     $this->link->ClearCalendar(); 
    } 

} 

?> 

Was ist der richtige Weg t o die DbLink.php in die CalendarClass.php aufnehmen?

+0

Der Fehler spricht in einfachem Englisch zu verwenden wäre! Datei oder Verzeichnis existiert nicht! – Ahmad

+0

Stellen Sie sicher, dass die Rechte richtig eingerichtet sind ... Das ist mein normaler erster Schritt, wenn ich verifizieren kann, dass die Datei an der Stelle ist, an der sie heißt, dass sie nicht –

+0

ist. Das Include __DIR__. "/../Database/DBLink.php" ist Arbeit! Vielen Dank KhorneHoly! Du hast mir viel Zeit gespart! –

Antwort

2

Sie

__DIR__ . "/../Database/DBLink.php"; 

PHP für diese Datei verwenden müssen include sucht, sondern beginnt bei einem anderen root path.

Sie müssen einen vollständigen Pfad angeben, damit PHP den richtigen Pfad sucht.

__DIR__ stellt den Pfad zum Directoy die Datei in liegt.

Ein einfacherer Weg autoloading

0

Lösung: Ändern Sie die __DIR__ . "/../Database/DBLink.php"

Verwandte Themen