Datei Browser mit PHP

elPadre

Mitglied
Hallo Leute,

kann mir einer Helfen bzw hat jemand Tipps für einen Datei Browser ich möchte gerne

einen datei browser haben mit dem es möglich ist den inhalt eines bestimmten ordners auf meinem Webspace anzeigen zu lassen es soll auch möglich sein neue ordner anzulegen und zu entfernen sowie muss man in diesem "datei browser" navigeiren können über z.b eine Baumstruktur.

Hat jemand ne Seite wo so etwas beschrieben wird oder ein Tutorial wie das funktioniert !?


Vielen Dank
 
Danke für die Links.

Ich denke das ist aber etwas zu häftig ..

Ich brauch zwar schon sowas in der art aber nur in einer extrem abgespeckten version.

Da jeder benutzer bei mir sowas in sein Profil bekommen soll ...

Da sind diese einfach viel zu umfangreich und mächtig.

Aber vielen Dank
 
Hallo Danke für die Antwort.

Warning: opendir(): SAFE MODE Restriction in effect. The script whose uid is 647 is not allowed to access /srv/www/htdocs/web10/html/portal owned by uid 0 in /srv/www/htdocs/web10/html/portal/php_class/directorylist.class.php on line 13

Warning: opendir(html/portal/profile/profil2/): failed to open dir: No such file or directory in /srv/www/htdocs/web10/html/portal/php_class/directorylist.class.php on line 13

Warning: readdir(): supplied argument is not a valid Directory resource in /srv/www/htdocs/web10/html/portal/php_class/directorylist.class.php on line 14

Warning: closedir(): supplied argument is not a valid Directory resource in /srv/www/htdocs/web10/html/portal/php_class/directorylist.class.php on line 34

[DIR] html/portal/profile/profil2/

Leider habe ich das Problem mit dem SAFE MODE von PHP !?

Was kann ich nun machen !?
 
elPadre hat gesagt.:
/srv/www/htdocs/web10/html/portal owned by uid 0
Wie wurde das Verzeichnis portal angelegt? Mittels PHP?

Wenn ja, dann laeuft der Web-Server scheinbar als root. Wenn das Dein eigener Server ist, was ich mir anhand der Verzeichnisstruktur nicht vorstellen kann, dann aender dies. Falls Du bei einem Hoster bist, wovon ich ausgehe, tritt denen mal kraeftig in die Nuesse und frag wie bloed die sind den Web-Server als root laufen zu lassen.

Wenn Du das Verzeichnis per FTP angelegt hast frag ich mich warum das Verzeichnis root gehoert.

Auf jeden Fall kannst Du mal probieren das Verzeichnis an den User dem auch die Scripts gehoeren zu verschenken (Stichwort chmod, aber nicht in PHP, sondern ueber FTP).
 
Hallo mich wundert es auch weil ich das Problem schonmal hatte beim anlegen der verzeichnisse mit php und das darauf folgende verschieben in diesen ordner.

Darum habe ich das eigentlich mit FTP gelöst es hat auch funktioniert.

Nachfolgend das Script wie ich meine Ordner anlege.

PHP:
<?
function ftp_safe_mode_mkdir( $path , $newDir, $chmod) {

       $host = "xxxx";
       $username = "xxx";
       $password = "xxx";
     ## Verbindung zum FTP Server aufbauen
     $ftp_conn = ftp_connect($host);

     ## Einloggen
     $ftp_login_result = ftp_login($ftp_conn, $username, $password);

     ## Fehler
     if ((!$ftp_conn) || (!$ftp_login_result)) {
          return false;
          exit();

     ## Erfolg
     } else {

          ## Verzeichnis wechseln
          ftp_chdir($ftp_conn,$path);

          ## Verzeichnis ersellen
          if(ftp_mkdir($ftp_conn,$newDir)) {

               ## Ordnerrechte ändern
               ftp_site($ftp_conn, "CHMOD ".$chmod." ".$newDir);
               return $newDir;

          } else {

               return false;
          }
     }

     ## Verbindung vom FTP Server trennen
     ftp_close($ftp_conn);
}
?>
 
Zeig mir mal bitte den Code wo Du meine Klasse nutzt.
Es koennte sein, dass der SafeMode-Fehler nur eine Nebenwirkung ist da mir grad das hier aufgefallen ist
Warning: opendir(html/portal/profile/profil2/): failed to open dir: No such file or directory
 
Anbei die Einbindung.

case profil_browser.php ist das passende zu deinem script.

PHP:
            <!-- MAIN -->
            <?
            switch($topic){
            case "login_fail":
                 include("./templates/login_fail.htm");
                 break;
            case "anmeldung":
             include("./templates/anmeldung.php");
             break;
			// Allgemeine Profil Ansicht
            case "profile":
                 include("./templates/profile.php");
                 break;
			// Allgemeine Profil Ansicht
			// Benutzer Profil Menü
            case "profil":
                 include("./templates/profil.php");
                 break;
	            case "profil_aendern":
	                 include("./templates/profil_aendern.php");
	                 break;
	            case "profil_update":
	                  require("./templates/profil_update.php");
	                 break;
	            case "profil_browser":
	                  require("./templates/profil_browser.php");
	                 break;
			// Benutzer Profil Menü
            case "test":
             include("./templates/test.php");
             break;
            case "logout":
             include("./templates/logout.php");
             break;
            }
            ?>
            <!-- MAIN -->

PHP:
<?php
function showdir($dirlist,$recursive=false)
{
echo '<li>[DIR] '.$dirlist->name.'</li>';
echo '<ul>';
for ($x=0;$x<count($dirlist->subdirs);$x++)
    {
        if ($recursive==true)
            {
                showdir($dirlist->subdirs[$x],true);
            }
        else
            {
                echo '<li>[DIR] '.$dirlist-3>subdirs[$x]->name.'</li>';
            }
    }
for ($x=0;$x<count($dirlist->files);$x++)
    {
        echo '<li>[FILE] '.$dirlist->files[$x].'</li>';
    }
echo '</ul>';
}
require("./php_class/directorylist.class.php");
$dir=new directorylist("html/portal/profile/profil".$user_id."/".$name."",true);
showdir($dir,true);
?>
 
Zurück