php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.06.2004, 11:46  
Gast
 
Beiträge: n/a
Standard problem mit relativen includes in php

Mahlzeit,

situation: ich hab diverse php-files in einem verzeichniss, darunter eine "toolbox.php" und eine "config.php"
die config.php wird von der toolbox included
außerdem gibt es ein unterverzeichnis "tmpl" in dem halt template-files sind
einige der funktionen in der toolbox greifen darauf zu.

problem: jetzt will ich aber noch einen unterordner "admin" erstellen in dem dann php files zur administration sind, diese sollen ebenfalls die toolbox nutzen, welche dann logischerweise ein ordner höher liegt.

das problem ist nur, das er dann logischerweise die dateien die von der toolbox included werden nicht findet.

wie kann ich es realisieren, das ich da die toolbox auch nutzen kann ohne alles in den unterordner kopieren zu müssen (was ja totaler schwachsinn wäre) ?


gruß
clm[k1]
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.06.2004, 12:13  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wie wäre es wenn du eine bessere dateistruktur wählst und uns mal deine d erzeitige darstellst.
z.B. so .
Code:
index.php
      |
      ordner1
             |
              datei1.php
              datei2.php
      |
      ordner2
             |
              datei3.php
              datei4.ph
danke ..

[/code]
imported_Ben ist offline  
Alt 30.06.2004, 12:27  
Gast
 
Beiträge: n/a
Standard

ok, dachte zwar das das aus der beschreibung hervor geht, aber bitte.
derzeitige datei-struktur:

Code:
config.php
index.php
toolbox.php
*restliche dateien*
               |
               ordner "tmpl"
                       |
                       template.htm
                       noch ein template
               |
               ordner "admin"
                       |
                       adminindex.php
so far
clm[k1]
 
Alt 30.06.2004, 12:42  
Gast
 
Beiträge: n/a
Standard

1. Du könntest die Pfade nicht realtiv sondern absolut angeben.
2. Du generierst eine einheitliche Pfadstruktur wie zum Beispiel:

----ROOT
-----------Index.php
----Allgemeine Dateien
-----------toolbox.php
-----------config.php
-----------Templates
-----------------------X1.tpl
-----------------------X2.tpl
----Admin
----Deutsch
----Englisch

So kannst sind die Gesetzten Pfade aus allen weiteren Ordnern wie Admin, Deutsch, Englisch immer gleich, wenn man es realtiv betrachtet:

....hoffe das hilft dir etwas weiter....
 
Alt 30.06.2004, 12:42  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Auf /-Ebene:


Code:
$inc =
    ini_get('include_path', $inc).
    PATH_SEPARATOR.dirname(__FILE__);

ini_set ('include_path', $inc);

Auf /admin/-Ebene:
Code:
$inc =
    ini_get('include_path', $inc).
    PATH_SEPARATOR.dirname(__FILE__).DIRECTORY_SEPARATOR.'..';

ini_set ('include_path', $inc);
Auf diese weise ist
Code:
require_once 'toolbox.php';
IMMER gültig

ABER .. innerhalb von Admin ist es ebenfall angebracht (aber nicht nötig)
Code:
require_once('admin/foo.php');
zu verwenden.
Guradia ist offline  
Alt 30.06.2004, 13:31  
Gast
 
Beiträge: n/a
Standard

danke für die zahlreichen antworten!
absolute pfade mit "dirname(__FILE__)" hat geholfen.

@Guradia: deine idee alleine hätte auch geholfen, wenn ich nur dateien includen würde, aber die templates werden mit fopen() angefordert.


gruß
clm[k1]
 
Alt 30.06.2004, 13:36  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von clm[k1
]
@Guradia: deine idee alleine hätte auch geholfen, wenn ich nur dateien includen würde, aber die templates werden mit fopen() angefordert.
Aus dem Manual zu fopen()

Zitat:
Sie können den optionalen Parameter use_include_path auf '1' oder TRUE setzten, wenn Sie die Datei auch im include_path suchen möchten.
Guradia 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
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Sessions Problem StephenKing PHP Tipps 2008 3 16.10.2007 08:30
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
Einbinden von Seiten, die Includes enthalten, Pfad probleme. PHP Tipps 2006 4 09.03.2006 19:10
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Includes (Referenzierung) Server, Hosting und Workstations 3 23.01.2005 15:52
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] PHP Upload (Master Value/Local Value Problem) PHP-Fortgeschrittene 5 23.11.2004 07:21
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
[Erledigt] Include mit relativen Pfaden PHP-Fortgeschrittene 6 07.06.2004 12:41
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29


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