php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.07.2006, 10:11  
Neuer Benutzer
 
Registriert seit: 21.05.2006
Beiträge: 23
kevka
Standard mit include() Datei die Einen ordner höher liegt einbinden

Ich würde gerne eine datei einbinden die in einem höheren Verzeichniss.
Bei HTML würde ich das ja z.B. so machen:

Code:
[img]/test.jpg[/img]
wie kann ich jetzt das gleich mit include machen wenn ich
PHP-Code:
include("/zugriff.inc.php"); 
schreibe bringt er mi eine fehler meldung:

Warning: main(/zugriff.inc.php) [function.main]: failed to open stream: No such file or directory in C:\Programme\xampp\xampp-win32-1.4.9\xampp\htdocs\index.php on line 2

Warning: main() [function.include]: Failed opening '/zugriff.inc.php' for inclusion (include_path='.;C:\Programme\xampp\xampp-win32-1.4.9\xampp\php\pear\') in C:\Programme\xampp\xampp-win32-1.4.9\xampp\htdocs\index.php on line 2

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\xampp-win32-1.4.9\xampp\htdocs\index.php on line 15



Wie kann ich es denoch schaffen?

MfG kevka
kevka ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.07.2006, 10:36  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Was bedeutet ein höheres Verzeichnis bei dir?

ordner/a.php
b.php

Möchtest du jetzt IN der a.php die b.php includen?
PHP-Code:
<?php
include('../b.php');
?>
Möchtest du in der b.php die a.php includen?
PHP-Code:
<?php
include('ordner/a.php');
?>
Joar so sollte es in HTML auch aussehen ... bei src="/test.jpg" wird die test.jpg angezeigt die im selben Ordner liegt.
Flor1an ist offline  
Alt 08.07.2006, 13:43  
Neuer Benutzer
 
Registriert seit: 21.05.2006
Beiträge: 23
kevka
Standard

Zitat:
Zitat von RaZoR

Joar so sollte es in HTML auch aussehen ... bei src="/test.jpg" wird die test.jpg angezeigt die im selben Ordner liegt.
Nein da wird test.jpg angezeigt das im höchsten ordner des Servers liegt!!
kevka ist offline  
Alt 08.07.2006, 14:02  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von kevka
Nein da wird test.jpg angezeigt das im höchsten ordner des Servers liegt!!
Etwas falsch: das Bild liegt in der Wurzel des Documentroot. Da wird es vom Indianer gefunden und ausgeliefert.

PHP dagegen orientiert sich am Verzeichnisbaum des Dateisystems.
 
Alt 08.07.2006, 14:21  
Neuer Benutzer
 
Registriert seit: 21.05.2006
Beiträge: 23
kevka
Standard

Noch ne kleine frage:

Ichz habe

/module/zgriff.php

und

/sites/archiv/archiv.php


wie kann ich dann zugriff.php
in archiv.php includen?

MfG kevka
kevka ist offline  
Alt 08.07.2006, 14:42  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Wie razor schon schrieb: Mit .. wechselst du in übergeordnete Verzeichnisse. Die Pfadangabe in der Datei archiv.php würde dann so aussehen: ../../module/zugriff.php
xabbuh ist offline  
Alt 08.07.2006, 18:38  
Gast
 
Beiträge: n/a
Standard

Mal abgesehen von den Vorschlägen:
Zitat:
Zitat von kevka
wie kann ich dann zugriff.php
in archiv.php includen?
Entscheiden ist der Pfad des (sagen wir mal) Startscriptes.

Nehmen wir mal an, der User hat http://www.example.com/index.php aufgerufen. Der Webserver mapt jetzt index.php auf das Documentroot (steht in der virtualhostsektion) und übergibt, da .php, die weitere Verarbeitung an PHP. PHP stellt dem PHP Script die gesamten Daten und Systemparameter in den Arrays $_SERVER und $_ENV zur Verfügung.

Der Pfad des Arbeitsverzeichnisses (Startscript) ist für alle includes und requires von entscheidender Bedeutung. Auf der sicheren Seite bist Du, wenn Du mit absoluten Pfaden arbeitest, während man sich bei relativen Pfaden schnell mal verzetteln kann. Besonders dann, wenn ScriptA, ScriptB einfügt, welches wiederum ScriptC haben will. Liegt das Zeuch im Verzeichnis des Startscriptes, ist es für Anfänger noch überschaubar. Ärger gibt es dann, wenn die Files in unterschiedlichen Unterverzeichnissen liegen und auch von unterschiedlichen Startverzeichnissen aus requestet werden kann.

Deshalb sollte man sich das angewöhnen:

$pfad = dirname($_SERVER['SCRIPT_FILENAME'])';
# oder
$pfad = getcwd(); # Achtung! ändert sich, wenn vorher chdir('/anderer/pfad/'); ausgeführt wurde.

Die Variable $pfad setzt man dann so ein:

require($pfad . '/includes/bibliothek.php');

Und da die Variable $pfad nach dem require auch in bibliothek gültig ist, kann dort stehen:
require($pfad . '/includes/unterverzeichnis/ganz_wichtig.php');

Das magst Du jetzt als überflüssig empfinden, aber spätestens dann, wenn Du 100 Scripte anpassen mußtest, weil sich die Verzeichnisstruktur geändert hat, möchtest Du das nicht mehr missen.

Warum ich require und nicht include verwende?
require reagiert mit einer Fehlermeldung, wenn die Datei nicht gefunden wurde, während include das egal ist...
 
Alt 13.07.2006, 10:12  
Erfahrener Benutzer
 
Registriert seit: 23.08.2004
Beiträge: 175
tekknotrip
Standard

Passend dazu habe ich eine Frage, die sich daran anknüpfen lässt und evtl. auch gleich ein praktisches Beispiel.

Folgendes ist gegeben:

Doc Verzeichnis
/usr/home/www/htdocs

ich möchte aber eine Datei darüber aufrufen, da ich unter keinen Umständen möchte / mochte, dass da jemand darauf zugreift:
include ("/usr/home/www/db.inc.php");

Das lässt sich ja mit $_SERVER['DOCUMENT_ROOT']; nicht realisieren...
Andere Idee oder soll ich die Datei doch ins htdocs schmeissen?

Als Beispiel gedacht, da das die Logindatei für die DB ist und die kann gehörig oft vorkommen...wehe Dir, wenn da mal ein Providerwechsel vor der Tür steht (ok, mit Homesite suchen / ersetzen kein Problem)...aber dennoch....
tekknotrip ist offline  
Alt 13.07.2006, 14:49  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Schmeiss doch deine Datei nicht in ein Verzeichnis höher, sondern in ein Unterverzeichnis, das du dann mit .htaccess schützst. Also z.B. /usr/home/www/htdocs/includes. Mehr zu .htaccess findest du z.B. hier.
lazydog ist offline  
Alt 13.07.2006, 18:44  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Wenn sich die Datei db.inc.php generell in dem Verzeichnis oberhalb des DocumentRoots befinden soll:
Code:
../db.inc.php
xabbuh ist offline  
 


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
Include Datei formatieren st0ny PHP Tipps 2008 12 31.07.2008 12:35
Datei löschen mit unlink(); fender PHP Tipps 2006 2 12.11.2006 22:05
Include anderer Datei bei Klick PHP Tipps 2006 2 03.01.2006 01:03
datei auf jeden fall einbinden PHP Tipps 2007 11 17.11.2005 15:59
Include - Wie HTML Dateien einbinden? PHP Tipps 2005-2 2 13.10.2005 23:33
Datei auf FTP-Server ändern ohne lokal abzuspeichern faux PHP-Fortgeschrittene 11 02.09.2005 11:54
hilfe mit dem auslesen von datei aus einem ordner Tic Rederon PHP Tipps 2005-2 2 08.08.2005 11:30
HTML Tabelle in PHP Datei einbinden PHP Tipps 2005-2 4 14.07.2005 20:11
Seiten mit include einbinden !!! PHP Tipps 2005 6 06.05.2005 10:56
include nur im gleichen ordner erlaubt Blank PHP Tipps 2005 3 10.03.2005 00:29
include aus anderem ordner PHP Tipps 2005 5 04.02.2005 20:06
.so library Datei einbinden PHP Tipps 2004 2 13.10.2004 23:40
Navigations menü aus einer datei einbinden PHP Tipps 2004 8 30.08.2004 15:19
Inhalt einer Datei einbinden ohne Inhalt anzuzeigen Corvin PHP Tipps 2004 4 22.07.2004 09:24
[Erledigt] Include mit relativen Pfaden PHP-Fortgeschrittene 6 07.06.2004 12:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php include übergeordneter ordner, include ordner, php übergeordnetes verzeichnis, include übergeordneter ordner, php include übergeordnetes verzeichnis, php include ordner, php ein verzeichnis höher, php verzeichnis höher, php übergeordneter ordner, php höheres verzeichnis, php einen ordner höher, include verzeichnis darüber, php ordner höher, php include verzeichnis höher, include übergeordnetes verzeichnis, includes ordner, ordner includen, include aus ordner, ordner include, übergeordnetes verzeichnis php

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:10 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.