php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.04.2005, 15:13  
Gast
 
Beiträge: n/a
Standard kurze Frage zu "include"

Da die zu includende Datei im selben Ordner liegt wie die aufrufende Datei, habe ich es bisher so gemacht:
Code:
include "datei.php";
Das klappte auch hervorragend.
Nun möchte ich dieselbe Datei in eine andere Datei in einem anderen Ordner includen.
Leider klappt es weder so:
Code:
include "ordner/datei.php";
noch mit einer globalen Pfadangabe:
Code:
include "http://www.adresse.de/ordner/datei.php";
Wenn ich Klammern setze
Code:
include ("datei.php");
hilft es auch nicht.
Der Fehler äußert sich darin, dass einfach die Daten, die in der zu includenden Datei erzeugt werden, in der aufrufenden Datei nicht zur Verfügung stehen.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.04.2005, 15:17  
Gast
 
Beiträge: n/a
Standard

tja, läßt sich nur raten

Was gibt denn
PHP-Code:
<?php
if ( !file_exists('ordner') )
    echo 
'ordner gibt es nicht';
else if ( !
is_dir('ordner') )
    echo 
'ordner ist kein Verzeichnis';
else if ( !
file_exists('ordner/datei.php') )
    echo 
'ordner/datei.php gibt es nicht';
else if ( !
is_file('ordner/datei.php') )
    echo 
'ordner/datei.php ist keine Datei';
    
require 
'ordner/datei.php';
?>
aus?

siehe auch:
http://php.net/file_exists
http://php.net/is_dir
http://php.net/is_file
http://php.net/require
 
Alt 30.04.2005, 15:55  
Gast
 
Beiträge: n/a
Standard

danke für die tips.
habe es ausprobiert und seltsamerweise wird angezeigt, dass der Ordner nicht existiert. obwohl er das tut.
wenn ich
Code:
require "http://www.adresse.de/ordner/datei.php"
ausprobiere, wird der ordner/die datei ("Failed opening required ...") nicht gefunden. obwohl es sie natürlich gibt, denn ich kann sie direkt im browser aufrufen.
wenn ich eine *.htm Datei per require einbinde, klappt es hingegen
problemlos
 
Alt 30.04.2005, 16:05  
Erfahrener Benutzer
 
Registriert seit: 14.04.2005
Beiträge: 1.004
search
Standard

wenn du eine datei, die in einem unterordner liegt zb. unterordner dann machst du einfach
PHP-Code:
<?php
include ("./unterordner/datei.php");
?>
http://tut.php-q.net/include.html

greez search
__________________
schlimmer gehts nimmer.... dümmer immer!
search ist offline  
Alt 30.04.2005, 16:11  
Gast
 
Beiträge: n/a
Standard

naja, das Einbinden per http://.... kannst Du Dir sparen; damit stellst Du eine neue Anfrage an den webserver und das ist irgendwas zwischen überflüssig und unpraktikabel.

Dann kann ich Dir nur noch den Tipp gegeben, das Skript sich mal etwas umsehen zu lassen, in welcher Umgebung es denn nun wirklich arbeitet.
PHP-Code:
<?php
echo '<H1>'__FILE__"</H1>\n";  // welche Datei
echo '<fieldset><legend>'getcwd(), "</legend>\n"// welches Arbeitsverzeichnis

$dh opendir('.');  // aktuelles Arbeitsverzeichnis 'öffnen'
while( $fn=readdir($dh) )
    echo 
$fn"
\n"
;
    
echo 
'<fieldset>';
?>
 
Alt 30.04.2005, 16:59  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

Zitat:
naja, das Einbinden per http://.... kannst Du Dir sparen;
das kannst du dir nicht nur sparen - das führt auch zu einem ganz anderen ergebnis.
__________________
derHund ist offline  
Alt 30.04.2005, 23:30  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Zeig doch mal deine Ordnerstruktur auf. Die Pfadangaben sind immer relativ (sofern du keinen absoluten Pfad angibst) in Bezug auf das (zuerst) aufgerufene Skript (und den Ordnern, die im include_path definiert sind).

Wenn du also z.B. folgende drei Dateen hast hast:

Code:
./index.php
./local/config.database.php
./lib/class.database.php
...und du möchtest jetzt von der index.php die Datenbank-Klasse einbinden, die wiederum auf die entsprechende Konfig-Datei zugreit, dann sähen die Pfade folgendermaßen aus:

Code:
include.php:
require('./lib/class.database.php');

class.database.php:
require_once('./local/config.database.php');
Der include-Pfad in der DB-Klasse bezieht sich also auf index.php. Wolltest du die DB-Klasse direkt aufrufen, bräuchtest du den Pfad
Code:
require_once('../local/confi.database.php');
Mit dem ".." gehst du in den übergeordneten Ordner.

Klar, dass das alles ziemlicher Bullshit ist und man daher entweder die Verzeichnisse, aus denen eingebunden wird in den include-path schreibt (aus dem Skript via ini_set), oder absolute Pade verwendet, indem man Konsanten definiert oder sich den absoluten Pfad mit dirname(__FILE__) zusammenschraubt.

Basti
Basti ist offline  
Alt 01.05.2005, 20:06  
Matthias959
Gast
 
Beiträge: n/a
Standard

Hast du auch auf die Groß- und Kleinschreibung geachtet???
Unter Linux kann es da zu Problemen kommen.

Matthias959
 
Alt 01.05.2005, 20:08  
Gast
 
Beiträge: n/a
Standard

Ich schätz mal, dass der SAFE MODE an ist
 
Alt 01.05.2005, 20:46  
Gast
 
Beiträge: n/a
Standard

danke für die vielen tips.
ich habe das problem gelöst. die *.php dateien liegen offensichtlich in einem anderen ordner als die htm dateien. zumindest in einem anderen, als mir beim upload per ftp angezeigt wird. das muss wohl mit dem verzeichnis zusammenhängen, für das auf dem server php installiert ist (wobei für das paket, das ich habe, eigentlich gar kein php dabei sein soll, aber es funzt ja).
ich habe den fehler nun also behoben und weiß auch, wie und dass es geht, aber nicht, warum es geht.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kurze Frage: Nicht exakte ID sondern Reihenfolge auslesen. PHP Tipps 2006 17 10.03.2006 20:51
kurze frage zu txt auslesen PHP Tipps 2006 18 12.01.2006 19:22
[Erledigt] kurze frage zu screen in einem shell script Server, Hosting und Workstations 4 16.12.2005 21:22
Gebrauch von "strrchr" oder die Frage: wie kürze i PHP Tipps 2005-2 6 21.09.2005 13:21
Kurze Frage TaStEn PHP Tipps 2005-2 9 03.09.2005 13:53
Kurze Frage bezogenauf Bilder und Mail verschicken Daskaras PHP Tipps 2005-2 3 11.08.2005 18:23
[Erledigt] Kurze Frage zum Gestallten von Tabellen ... HTML, Usability und Barrierefreiheit 2 28.07.2005 11:07
Kleine kurze Frage PHP-Fortgeschrittene 4 13.02.2005 22:16
kurze frage zu script im script PHP Tipps 2005 4 04.02.2005 08:53
Kurze Frage an die Php Profis PHP Tipps 2004-2 11 24.11.2004 17:38
Noch eine kurze Frage (arrays=>db) Paulo PHP Tipps 2004-2 4 18.11.2004 17:08
$PHPSESSID - Kurze Frage Bronks PHP Tipps 2004-2 11 15.11.2004 11:24
kurze schmerzlose frage PHP Tipps 2004 1 11.07.2004 02:55
[Erledigt] kurze Frage: PHP Tipps 2004 3 02.07.2004 10:34
[Erledigt] Kurze Frage: Zeichenanzahl messen und eventuell abschneiden PHP Tipps 2004 4 26.06.2004 20:15


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:25 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.