daten ausserhalb root

nox

Erfahrenes Mitglied
hy leutz

wie greife ich auf daten die auserhalb vom verzeichniss root ist??
ich will eine Datenliste machen, wobei die dateien ausserhalb vom localhost liegen -> wie krieg ich das hin??

danke im voraus für eure ideen/lösungen...

greez

n
o
x
 
Hää? Du willst also deine Dateien auflisten, und das in php. Du benutzt Linux. Bis hierhin richtig?

Also wenns passt würde ich das damit machen:

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Unbenannt</title>
    </head>
    <body>
        <pre>
<?php
function list_dir($dirname) {
    if($dirname[strlen($dirname)-1] != '/')
    $dirname .= '/';
    static $result_array = array();
    $handle = opendir($dirname);
    while ($file = readdir($handle)) {
        if( $file == '.' || $file == '..' )
            continue;
        if( is_dir($dirname.$file) )
            list_dir($dirname.$file.'/');
        else
            $result_array[] = $dirname.$file;
    }
    closedir($handle);
    return $result_array;
}

print_r(list_dir("./"));
?>
        </pre>
    </body>
</html>

EDIT: Hab auf php.net/dir ne andere lösung gefunden, ist wohl besser. s.o.

Keine Ahnung ob das so schon klappt, versuchs einfach mal :)
 
Zuletzt bearbeitet:
ja so in etwa...
linuk -> negativ... XP
apache server

nur liegten diese dateien ausserhalb vom root verzeichnis
sprich nicht im localhost!
sondern auf einer anderen festplatte!
dann funtzt dieser wunderschöne script nicht! leider
Ps.: soweit bin ich auch gekommen...

=> muss ich da in der httpd.conf was einstellen?

geht das, dass 2 root ordner aufsmal geladen werden??
 
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Unbenannt</title>
    </head>
    <body>
        <pre>
<?php
function list_directory($startdir = ".", $depth = 0, $list_subdirs = 1) {
    global $data_array;
    $handle = dir($startdir);
    while($file = $handle->read()) {
        switch($file) {
            case ".":
            case "..":
                continue;
            default:
                $prefix = "";
                for($i=0;$i<$depth;$i++){
                    $prefix.="\t";
                }
                if(is_dir($startdir."/".$file)) {
                    print($prefix."<b>".$start_dir."/".$file."</b>\n");
                    if($list_subdirs == 1) {
                        $dir_depth = $depth + 1;
                        list_directory($startdir."/".$file,$dir_depth,$list_subdirs);
                    }
                } else {
                    print($prefix.$file."\n");
                }
                break;
        }
    }
    $handle->close();
}

list_directory();
?>
        </pre>
    </body>
</html>


Öhm, dann mach als Startdir halt "/dev/hda2" oder "/dev/hdb1" oder was auch immer, oder klappt das nicht ? Mit localhost hat das nichts zu tun :P
 
Original geschrieben von boom
Öhm, dann mach als Startdir halt "/dev/hda2" oder "/dev/hdb1" oder was auch immer, oder klappt das nicht ? Mit localhost hat das nichts zu tun :P
hmm werd nicht ganz schlau...

wenn ich auf C:/apache/htdocs das root verzeichnis habe und auf die festplatte d:/irgenwas zugreifen möchte wie muss ich das anstellen????
 
thx hat sich erledigt hatte einen fehler in der ini von apache... :rolleyes:

danke für deine mithilfe sind coole sachen zusammengekommen...

greez

n
o
x
 
Zurück