[Gelöst] Pfad erkennen und Ordnerinhalt auflisten

:morgen: Moin, moin zusammen,

habe mal wieder ein kleines Problem. Ich möchte in PHP einen Pfad, welcher dynamisch ist erkennen und anschliessend ein Directorylisting im Bezug auf diesen Pfad als include ausgeben.
Ein Script für das directorylisting habe ich schon nur weiß ich nicht wie ich das nun includieren muß, damit auch der Pfad genommen wird, welcher in der Datenbank steht.
Folgenden Code habe ich dank eurer Hilfe als Bildanzeige genommen:

<?php $pfad = "$vtm01f080"; $path_parts = pathinfo($pfad); $gfx_extensions = array('jpg','jpeg'); if(in_array($path_parts['extension'],$gfx_extensions,false)) echo "<img src='$pfad' /></a>"; else echo "<a href='$pfad'>$pfad</a>"; ?>
Das bewirkt, das ein bild direkt angezeigt wird, wenn ein entpsrechender Pfad angegeben ist. Nun dachte ich man könnte den Code doch auch für das Directorylisting nutzen und habe den folgendermaßen geändert:

<?php $pfad = "$vtm01f082"; if(($pfad)) include "listing.php"; ?>
nur leider zeigt der mir nicht das Verzeichnis an, welches ich angegeben habe.

Was muß ich denn ändern? Der Pfad steht in einer MySQL-Datenbank. Wollte das per PHP lösen, sodaß egal welcher Pfad dort eingetragen ist, das Listing immer in diesem Ordner ausgeführt wird. Wo liegt der Fehler?

Hi,

wenn der Pfad in einer Datenbnak liegt ist das ganze relativ einfach. Schau dir erstmal an, wie man aus einer Datenbank Daten ausliest. Stichwort dazu SELECT.

Dann kannst du den Wert der Spalte als Variable, etwa $spalte[pfad] und kannst diese in deinem Script dann verwenden.

Hallo,

da ich mit MySQL absolut keine Erfahrung habe und das Script schon vorgefertigt war, weiß ich gar nicht wo ich schauen muß um den Pfad heruaszufinden. Wenn ich im Directorylisting folgendes eingebe ($field[‘tm01f082’]) dann bekomme ich nur ein Parse Error. Problem ist auch noch, das ich gar nicht genau weiß wie ich das eingeben muß. Im Directorylisting habe ich eine Konfiguration wo ich das startverzeichnis angeben kann $startdir="." aber wie muß ich da nun das entsprechende Feld einpflegen, sodaß es auch erkannt wird und ausgegeben wird?

Hi,

dann wird es höchste Zeit, dass du dich mal ein bisschen mit MySQL beschäftigst.

Grundlagen wie “Wie stelle ich eine Verbindung her”, “Wie lese ich etwas aus einer Datenbank aus” und “Wie trenne ich die Verbindung wieder” sind für dein Vorhaben notwendig.

Google einfach mal ein wenig - dann wirst du sicher fündig.

Moin,

mysql.inc.php

<?php
  $host = 'localhost';
  $dbuser = 'dbuser';
  $dbpass = 'dbpass';
  $dbname = 'dbname';
  $sql = @mysql_connect($host, $dbuser, $dbpass) or die('Verbindung zur Datenbank konnte nicht aufgebaut werden');
  $dbconn = mysql_select_db($dbname, $sql) or die('Datenbank wurde nicht gefunden');
?>

dirlist.php

<?php
   include('mysql.inc.php');

   $query = mysql_query("SELECT verzeichnisname FROM meinetabelle");
  
   function listdir($verz, $tiefe) {
      if($tiefe < 10) {
          $handle = opendir($verz);
          while (false !== ($file = readdir($handle))) {
             if ($file != "." && $file != ".." && is_file($file)) {
                $files[] = $verz.'/'.$file;
                
             } elseif(is_dir($file) {
                listdir($verz.$file, $tiefe+1);
             } else { continue; }             
             closedir($handle);
             foreach($files AS $file) { echo $file."<br />"; }
      } else {
          return false;
      }
   }
   while($row = mysql_fetch_object($query)) {
        listdir($row->verzeichnisname, 0);
   }
   mysql_free_result($row);
   mysql_close($sql);
?>

Ungetestet, aber so in die Richtung geht es :wink:

MfG
myPages

Hallo,

geht das nicht eventuell auch ohne MySQL? Also das mit dem anzeigen der Grafik konnte ja auch ohne direkten Datenbankzugriff gelöst werden. Kann man das mit dem Directorylisting nicht genauso machen?

In dem Script wird ja schon mit der Datenbank verbunden muß ich das separat nochmal mit angeben? Ich würde gerne das directorylisting Script verwenden, welches ich hier schon vorliegen habe.

Dann solltest du uns das Script fairerweise aber auch mal zeigen - denn so aus der Ferne zu ahnen wie es denn aufgebaut ist hilft dir nicht weiter, denke ich.

Oh ja natürlich, sorry. Hier das Script welches ich verwenden möchte:

[code]<?
/*
Directory Listing Script - Version 2

Script Author: Ash Young ash@evoluted.net. www.evoluted.net
Layout: Manny manny@tenka.co.uk. www.tenka.co.uk

REQUIREMENTS

This script requires PHP and GD2 if you wish to use the
thumbnail functionality.

INSTRUCTIONS

  1. Unzip all files
  2. Edit this file, making sure everything is setup as required.
  3. Upload to server
  4. ???
  5. Profit!

CONFIGURATION

Edit the variables in this section to make the script work as
you require.

Start Directory - To list the files contained within the current
directory enter ‘.’, otherwise enter the path to the directory
you wish to list. The path must be relative to the current
directory.
*/
$startdir = ‘.’;

/*
Show Thumbnails? - Set to true if you wish to use the
scripts auto-thumbnail generation capabilities.
This requires that GD2 is installed.
*/
$showthumbnails = false;

/*
Show Directories - Do you want to make subdirectories available?
If not set this to false
*/
$showdirs = true;

/*
Force downloads - Do you want to force people to download the files
rather than viewing them in their browser?
*/
$forcedownloads = true;

/*
Hide Files - If you wish to hide certain files or directories
then enter their details here. The values entered are matched
against the file/directory names. If any part of the name
matches what is entered below then it is now shown.
*/
$hide = array(
‘dlf’,
‘index.php’,
‘Thumbs’,
’.htaccess’,
’.htpasswd’
);

/*
Show index files - if an index file is found in a directory
to you want to display that rather than the listing output
from this script?
*/
$displayindex = false;

/*
Allow uploads? - If enabled users will be able to upload
files to any viewable directory. You should really only enable
this if the area this script is in is already password protected.
*/
$allowuploads = true;

/*
Overwrite files - If a user uploads a file with the same
name as an existing file do you want the existing file
to be overwritten?
*/
$overwrite = false;

/*
Index files - The follow array contains all the index files
that will be used if $displayindex (above) is set to true.
Feel free to add, delete or alter these
*/

$indexfiles = array (
‘index.html’,
‘index.htm’,
‘default.htm’,
‘default.html’
);

/*
File Icons - If you want to add your own special file icons use
this section below. Each entry relates to the extension of the
given file, in the form => .
These files must be located within the dlf directory.
*/
$filetypes = array (
‘png’ => ‘jpg.gif’,
‘jpeg’ => ‘jpg.gif’,
‘bmp’ => ‘jpg.gif’,
‘jpg’ => ‘jpg.gif’,
‘gif’ => ‘gif.gif’,
‘zip’ => ‘archive.png’,
‘rar’ => ‘archive.png’,
‘exe’ => ‘exe.gif’,
‘setup’ => ‘setup.gif’,
‘txt’ => ‘text.png’,
‘htm’ => ‘html.gif’,
‘html’ => ‘html.gif’,
‘fla’ => ‘fla.gif’,
‘swf’ => ‘swf.gif’,
‘xls’ => ‘xls.gif’,
‘doc’ => ‘doc.gif’,
‘sig’ => ‘sig.gif’,
‘fh10’ => ‘fh10.gif’,
‘pdf’ => ‘pdf.gif’,
‘psd’ => ‘psd.gif’,
‘rm’ => ‘real.gif’,
‘mpg’ => ‘video.gif’,
‘mpeg’ => ‘video.gif’,
‘mov’ => ‘video2.gif’,
‘avi’ => ‘video.gif’,
‘eps’ => ‘eps.gif’,
‘gz’ => ‘archive.png’,
‘asc’ => ‘sig.gif’,
);

/*
That’s it! You are now ready to upload this script to the server.

Only edit what is below this line if you are sure that you know what you
are doing!
*/
error_reporting(0);
if(!function_exists(‘imagecreatetruecolor’)) $showthumbnails = false;
$leadon = $startdir;
if($leadon==’.’) $leadon = ‘’;
if((substr($leadon, -1, 1)!=’/’) && $leadon!=’’) $leadon = $leadon . ‘/’;
$startdir = $leadon;

if($_GET[‘dir’]) {
//check this is okay.

    if(substr($_GET['dir'], -1, 1)!='/') {
            $_GET['dir'] = $_GET['dir'] . '/';
    }

    $dirok = true;
    $dirnames = split('/', $_GET['dir']);
    for($di=0; $di<sizeof($dirnames); $di++) {

            if($di<(sizeof($dirnames)-2)) {
                    $dotdotdir = $dotdotdir . $dirnames[$di] . '/';
            }

            if($dirnames[$di] == '..') {
                    $dirok = false;
            }
    }

    if(substr($_GET['dir'], 0, 1)=='/') {
            $dirok = false;
    }

    if($dirok) {
             $leadon = $leadon . $_GET['dir'];
    }

}

if($_GET[‘download’] && $forcedownloads) {
$file = str_replace(’/’, ‘’, $_GET[‘download’]);
$file = str_replace(’…’, ‘’, $file);

    if(file_exists($leadon . $file)) {
            header("Content-type: application/x-download");
            header("Content-Length: ".filesize($leadon . $file));
            header('Content-Disposition: attachment; filename="'.$file.'"');
            readfile($leadon . $file);
            die();
    }

}

if($allowuploads && $_FILES[‘file’]) {
$upload = true;
if(!$overwrite) {
if(file_exists($leadon.$_FILES[‘file’][‘name’])) {
$upload = false;
}
}

    if($upload) {
            move_uploaded_file($_FILES['file']['tmp_name'], $leadon . $_FILES['file']['name']);
    }

}

$opendir = $leadon;
if(!$leadon) $opendir = ‘.’;
if(!file_exists($opendir)) {
$opendir = ‘.’;
$leadon = $startdir;
}

clearstatcache();
if ($handle = opendir($opendir)) {
while (false !== ($file = readdir($handle))) {
//first see if this file is required in the listing
if ($file == “.” || $file == “…”) continue;
$discard = false;
for($hi=0;$hi<sizeof($hide);$hi++) {
if(strpos($file, $hide[$hi])!==false) {
$discard = true;
}
}

            if($discard) continue;
            if (@filetype($leadon.$file) == "dir") {
                    if(!$showdirs) continue;

                    $n++;
                    if($_GET['sort']=="date") {
                            $key = @filemtime($leadon.$file) . ".$n";
                    }
                    else {
                            $key = $n;
                    }
                    $dirs[$key] = $file . "/";
            }
            else {
                    $n++;
                    if($_GET['sort']=="date") {
                            $key = @filemtime($leadon.$file) . ".$n";
                    }
                    elseif($_GET['sort']=="size") {
                            $key = @filesize($leadon.$file) . ".$n";
                    }
                    else {
                            $key = $n;
                    }
                    $files[$key] = $file;

                    if($displayindex) {
                            if(in_array(strtolower($file), $indexfiles)) {
                                    header("Location: $file");
                                    die();
                            }
                    }
            }
    }
    closedir($handle);

}

//sort our files
if($_GET[‘sort’]==“date”) {
@ksort($dirs, SORT_NUMERIC);
@ksort($files, SORT_NUMERIC);
}
elseif($_GET[‘sort’]==“size”) {
@natcasesort($dirs);
@ksort($files, SORT_NUMERIC);
}
else {
@natcasesort($dirs);
@natcasesort($files);
}

//order correctly
if($_GET[‘order’]==“desc” && $_GET[‘sort’]!=“size”) {$dirs = @array_reverse($dirs);}
if($_GET[‘order’]==“desc”) {$files = @array_reverse($files);}
$dirs = @array_values($dirs); $files = @array_values($files);

?>

Directory Listing of <?=dirname($_SERVER['PHP_SELF']).'/'.$leadon;?> <? if($showthumbnails) { ?>
home <? $breadcrumbs = split('/', $leadon); if(($bsize = sizeof($breadcrumbs))>0) { $sofar = ''; for($bi=0;$bi<($bsize-1);$bi++) { $sofar = $sofar . $breadcrumbs[$bi] . '/'; echo ' > '.$breadcrumbs[$bi].''; } }
    $baseurl = $_SERVER['PHP_SELF'] . '?dir='.$_GET['dir'] . '&amp;';
    $fileurl = 'sort=name&amp;order=asc';
    $sizeurl = 'sort=size&amp;order=asc';
    $dateurl = 'sort=date&amp;order=asc';

    switch ($_GET['sort']) {
            case 'name':
                    if($_GET['order']=='asc') $fileurl = 'sort=name&amp;order=desc';
                    break;
            case 'size':
                    if($_GET['order']=='asc') $sizeurl = 'sort=size&amp;order=desc';
                    break;

            case 'date':
                    if($_GET['order']=='asc') $dateurl = 'sort=date&amp;order=desc';
                    break;
            default:
                    $fileurl = 'sort=name&amp;order=desc';
                    break;
    }

?>

<? $class = 'b'; if($dirok) { ?> <? if($class=='b') $class='w'; else $class = 'b'; } $arsize = sizeof($dirs); for($i=0;$i<$arsize;$i++) { ?> <? if($class=='b') $class='w'; else $class = 'b'; }
    $arsize = sizeof($files);
    for($i=0;$i<$arsize;$i++) {
            $icon = 'unknown.png';
            $ext = strtolower(substr($files[$i], strrpos($files[$i], '.')+1));
            $supportedimages = array('gif', 'png', 'jpeg', 'jpg');
            $thumb = '';

            if($showthumbnails && in_array($ext, $supportedimages)) {
                    $thumb = '<span><img src="dlf/trans.gif" alt="'.$files[$i].'" name="thumb'.$i.'" /></span>';
                    $thumb2 = ' onmouseover="o('.$i.', \''.urlencode($leadon . $files[$i]).'\');" onmouseout="f('.$i.');"';

            }

            if($filetypes[$ext]) {
                    $icon = $filetypes[$ext];
            }

            $filename = $files[$i];
            if(strlen($filename)>43) {
                    $filename = substr($files[$i], 0, 40) . '...';
            }

            $fileurl = $leadon . $files[$i];
            if($forcedownloads) {
                    $fileurl = $_SESSION['PHP_SELF'] . '?dir=' . urlencode($leadon) . '&download=' . urlencode($files[$i]);
            }

    ?>
    <div><a href="<?=$fileurl;?>" class="<?=$class;?>"<?=$thumb2;?>><img src="dlf/<?=$icon;?>" alt="<?=$files[$i];?>" /><strong><?=$filename;?></strong> <em><?=round(filesize($leadon.$files[$i])/1024);?>KB</em> <?=date ("M d Y h:i:s A", filemtime($leadon.$files[$i]));?><?=$thumb;?></a></div>
    <?
            if($class=='b') $class='w';
            else $class = 'b';
    }
    ?></div>
    <?
    if($allowuploads) {
            $phpallowuploads = (bool) ini_get('file_uploads');
            $phpmaxsize = ini_get('upload_max_filesize');
            $phpmaxsize = trim($phpmaxsize);
            $last = strtolower($phpmaxsize{strlen($phpmaxsize)-1});
            switch($last) {
                    case 'g':
                            $phpmaxsize *= 1024;
                    case 'm':
                            $phpmaxsize *= 1024;
            }

    ?>
    <div id="upload">
            <div id="uploadtitle"><strong>Datei hochladen</strong> (Max.Dateigrösse: <?=$phpmaxsize;?>KB)</div>
            <div id="uploadcontent">
                    <?
                    if($phpallowuploads) {
                    ?>
                    <form method="post" action="<?=$_SERVER['PHP_SELF'];?>?dir=<?=urlencode($leadon);?>" enctype="multipart/form-data">
                    <input type="file" name="file" /> <input type="submit" value="Hochladen" />
                    </form>
                    <?
                    }
                    else {
                    ?>
                    File uploads are disabled in your php.ini file. Please enable them.
                    <?
                    }
                    ?>
            </div>

    </div>
    <?
    }
    ?>
[/code]

Hallo zusammen,

bekomme es nicht wirklich hin. Kann mir nochmal jemand helfend unter die Arme greifen?

Wenn du beschreibst, was du wo versucht hast (inkl. Online-Beispiel).

Nur “funzt nich”, kompletten Code hier abladen und “macht mal” sagen - das reicht mir zumindest nicht.

Wenn es noch zu sehr an Grundlagenkenntnissen bzgl. HTML und CSS fehlt - dann solltest du dir solche mal aneignen.

Hallo,

Grundlagen bezüglich HTML und CSS sind vorhanden. Nur mit PHP das bekomme ich noch nicht so richtig hin (MySQL leider auch) weil ich da noch nicht so wirklich die Zusammenhänge verstehe. Ich poste ja nicht weil ich das von jemanden gemacht haben möchte (wäre zwar sehr bequem aber nicht gerade sinnvoll) sondern damit man mir das anhand von Beispielen erklärt. Hab schon viel in diversen PHP-Seiten reingeschaut und Google ist mein Freund :p , dort steht dann auch die Bedeutung nur Beispiele sehe ich da relativ wenige.

Ich persönlich fände es besser wenn man php mit einem Wysiwyg-Editor erstellen könnte damit man direkt sehen kann was welcher Code im Quelltext bewirkt. Alles andere ist momentan eher nur „raten“ als verstehen leider.

Meine Vermutung warum das nicht funktioniert ist, daß das Directorylisting-Script wohl gar nicht weiß wo es reinschauen soll, weil als Pfadangabe nur ‚.‘ steht und das bezieht sich glaube ich auf das Verzeichnis worin sich die Datei befindet. Mein Problem ist einfach das der Pfad nie gleich ist und das Sript sich diesen selbst holen bzw. auslesen soll (wie bei den Bildern auch - vorheriger Post). Includiert bekomme ich das Script nur es „schaut“ in das falsche Verzeichnis. Ich weiß nicht wie ich das angeben muß.

print_r($_SERVER);

ich glaube hier liegt ein kleines Mißverständnis vor. Vielleicht habe ich mich ja auch nur etwas "unglücklich ausgedrückt. Ich versuche es einfach nochmal.

Folgendes Szenario: Ich habe eine Adressverwaltung in PHP und MySQL. Dieses Script war schon komplett fertig, welches ich nur optisch angepasst habe. Funktionstechnisch habe ich (dank der Hilfe in diesem Forum) das Script erweitern können das ein Bild direkt angezeigt wird, wenn ein entsprechender Pfad eingegeben worden ist.

<?php $pfad = "$vtm01f080"; $path_parts = pathinfo($pfad); $gfx_extensions = array('jpg','jpeg'); if(in_array($path_parts['extension'],$gfx_extensions,false)) echo "<img src='$pfad' /></a>"; else echo "<a href='$pfad'>$pfad</a>"; ?>
Funktioniert super. Jetzt möchte ich aus einem anderen Feld wieder einen Link auslesen (allerdings keinen Bildlink) sondern einen der auf ein Verzeichnis verweist. Diesen Link möchte ich nun per weiteres Script (directorylisting) anzeigen lassen. Zumindest den Inhalt in dem entsprechenden Ordner. Das Script für diesen Einblick bekomme ich problemlos in die Adressverwaltung includiert. Einziges Problem ist dabei das es nur in dem Verzeichnis “reinschaut” in dem dieses Directorylisting Script liegt durch die Angabe des $startdir=’.'
Das $startdir ist aber nicht ‘.’ sondern der Eintrag, welcher in der Adressverwaltung gemacht worden ist welcher den Kürzel $vtm01f082 hat. Nun habe ich schon versucht dieses Kürzel einfach als $startdir in das directorylisting-script einzufügen. Funktioniert aber leider nicht, da dann immer noch in das Verzeichnis “geschaut” wird wo sich das Script befindet und nicht in das Verzeichnis, welches vorher eingegeben worden ist beim Kontakt.
Ich dachte ich könnte den Code, mit welchem ich das Bild direkt anzeigen lasse so umbauen, das ich das auch für das directory-script verwenden könnte. Funktioniert aber leider nicht wirklich.
Nun komme ich nicht weiter, da beim Bildcode ja die Dateiendung abgefragt wird. Bei einem Verzeichnis gibt es ja keine Dateiendung.

Habe es nun so versucht:

[code]<?php
$pfad = “$vtm01f082”;
$path_parts = pathinfo($pfad);

if(in_array($path_parts[“dirname”]))
echo include (“listing.php”);
else
echo “$pfad”;
?>[/code]
Das Ergebnis ist allerdings, das ich nun 2 mal hintereinander den Pfad angezeigt bekomme aber nicht das Directorylisting, welches ich includiert habe. Ich kann nicht erkennen was ich falsch mache bzw. wo ich nachschauen muß?

Dann wirst du analysieren müssen, warum das nicht “funzt”.

[quote]Habe es nun so versucht:

//... if(in_array($path_parts["dirname"]))[/quote]
in_array mit nur einem Parameter aufzurufen ist Unfug. Das müsste sogar eine Meldung geben.

Wenn du das error_reporting nicht auf E_ALL gestellt hast, dann mache das am Scriptanfang,
error_reporting(E_ALL);

habe nun das error_reporting eingeschaltet und habe auch eine Meldung erhalten. Das was dort stand war mir auch schon von der Logik irgendwie her klar und das es so nicht funktioniert auch. Das umzusetzen finde ich momentan noch sehr schwierig. Ich vermute, das in dem Script für das Directorylisting was geändert werden muß, damit es in das richtige Verzeichnis “schaut”.

Muss denn das script für das directorylisting separat auch auf die Datenbank zugreifen können oder reicht das wenn es im adress-script gemacht wird?

Warum probierst du’s dann …?

Nein, wozu?
Das soll ein Verzeichnis auslesen, mehr nicht.
Wo es den Pfad her bekommt, kann dem Script egal sein.

Du willst den Pfad aus der Datenbank auslesen und dem Script als Startpfad übergeben.
Das sind eigentlich zwei Aufgaben - also behandle die auch getrennt.

Erst mal hinbekommen, dass das Script mit einem fest vorgegebenen Pfad das gewünschte macht.

Start Directory - To list the files contained within the current directory enter '.', otherwise enter the path to the directory you wish to list. The path must be relative to the current directory. */ $startdir = '.';
Die Pfadangabe hier muss also relativ zum aktuellen Verzeichnis sein.

Welchen Pfad hast du hier testweise angegeben? Ist er relativ zum Verzeichnis, in dem das Script läuft? (Wenn du es per include irgendwo einbindest, ist das nicht das Verzeichnis, in dem die include-Datei liegt, sonder das des “Hauptscriptes”.)

Erst, wenn es mit einem an dieser Stelle fest vorgegebenen Pfad funktioniert, kümmerst du dich um den Teil, der diese feste Vorgabe durch einen aus der Datenbank gelesenen Pfad ersetzt. Auch hierbei wieder darauf achten, dass die Pfadangabe relativ zum aktuellen Verziechnis korrekt ist.

[quote]Die Pfadangabe hier muss also relativ zum aktuellen Verzeichnis sein.

Welchen Pfad hast du hier testweise angegeben? Ist er relativ zum Verzeichnis, in dem das Script läuft? (Wenn du es per include irgendwo einbindest, ist das nicht das Verzeichnis, in dem die include-Datei liegt, sonder das des “Hauptscriptes”.)[/quote]
So ich habe das Script (Directorylisting) jetzt mal als “Stand-Alone” ausprobiert. Mit der Pfadangabe ‘.’ funktioniert es problemlos, wenn ich jetzt aber als Beispiel als $startdir=‘test/bilder’ eingebe, dann funktioniert es nicht richtig. Der Pfad muß relativ eingegeben werden. Ist doch richtig so oder nicht? Oder wie sieht der relative Pfad aus? Hab jetzt schon gegoogelt aber wenn ich danach gehe dann sollte das was ich angegeben habe richtig sein oder nicht?

Das ist zumindest eine relative Pfadangabe.

Ob “richtig” oder nicht, hängt davon ab, wo das Script läuft.

Hallo,

habe jetzt ein anderes Script für das Directorylisting, da es mir etwas mehr Funktionalität von Hause aus bietet. Als standalone klappt das da auch mit der relativen Pfadangabe. Wenn ich das nun wieder include, bekomme ich immer noch nicht den richtigen Pfad hin. Kann mir das nochmal jemand erklären wie man den Pfad eingeben muß bzw. wie ich den relativen Pfad herausbekomme?

Hallo zusammen,

nach mehrfachem und stundenlangen suchen bei Google und Co. sowie diversen herumprobierereien muß ich mich wieder hier melden. Ich bekomme das mit der relativen Pfadangabe nicht hin. Ich verstehe nicht woher das Script den Pfad bezieht und wie man diesen schreiben muß, damit ich ein festes Verzeichnis includiert bekomme. Ich blicke da nicht durch. Vermutlich für erfahrene PHP’ler kein Problem aber für mich ist es ein sehr großes Problem denn trotz diverser PHP-Seiten verstehe ich nicht wie man dort einen relativen Pfad zu einem Verzeichnis includieren kann.

Kann mir bitte nochmal jemand helfen? Komme momentan kein Stück weiter damit.