Wem gehört der Ordner?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wem gehört der Ordner?

    Ich beiss mir wieder mal die Zähne aus.

    Ich möchte raus bekommen, wem die Ordner gehören.
    Dafür haben ich mir folgendes Script geschrieben:
    PHP-Code:
    <?php
    $filelist 
    = array();
    $dir opendir('../ordner');

    while((
    $file readdir($dir)) !== false
    {
        if(
    $file != '.' && $file != '..')
        {
            
    $fileowneruid=fileowner($file); // Zeile 9
            
    $fileownerarray=posix_getpwuid($fileowneruid); 
            
            
    $filelist[] = $file.' | '.$fileowner=$fileownerarray['name'];
        }

    closedir($dir);
    echo 
    '<pre>';
    print_r($filelist);
    echo 
    '</pre>';
    Doch er liefert mir nur folgende Meldung:
    Code:
    Warning: fileowner(): Stat failed for 569 
    (errno=2 - No such file or directory) in 
    /home/www/xxxxxxx/html/xxxxx/folder.php on line 9
    Was mache ich falsch und wie kann ich das ändern.
    Bitte mit Codeschnipsel, danke.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    Stimmt dein Pfad ?

    Hab auf den ersten Blick nichts falsches entdeckt und dein Schnipsel 1:1 übernommen und hab als Ausgabe

    Code:
    Array
    (
        [0] => Templateclass | nobody
        [1] => dbclass | nobody
        [2] => getdirclass | nobody
        [3] => umclass | nobody
        [4] => thumb.php | owner
        [5] => test.php | owner
    )
    erhalten......Demnach gibt es keinen Fehler
    [color=blue]MfG Payne_of_Death[/color]

    [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
    [color=red]Merke:[/color]
    [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

    Murphy`s Importanst LAWS
    Jede Lösung bringt nur neue Probleme
    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
    In jedem kleinen Problem steckt ein großes, das gern raus moechte.

    Kommentar


    • #3
      @derHund
      Kann es sein, dass du die Datei test.php genannt hast und dir das Verzeichnis ausgegeben gelassen hast, in dem diese test.php liegt?

      @Wotan
      Ich tippe mal auf ein falsches Verzeichnis
      Wenn das Skript im Verzeichnis test liegt und du dir ../test2 ausgeben lassen willst, dann bekommst du eben diese Meldungen.
      Das liegt daran, dass in $file nur der Dateiname, z. B. folder.php, steht. PHP versucht dann, diese Datei im aktuellen Verzeichnis (da wo das Skript liegt, also test) zu finden, wo sie aber nunmal nicht vorhanden ist.

      Arbeite am besten immer mit absoluten Pfadangaben:
      PHP-Code:
      $filelist = array();
      $dirname realpath('../files').DIRECTORY_SEPARATOR;
      $dir opendir($dirname);

      while ((
      $file readdir($dir)) !== false) {
          if(
      $file != '.' && $file != '..') {
              
      $fileowneruid=fileowner($dirname.$file);
              
      $fileownerarray=posix_getpwuid($fileowneruid); 
              
      $filelist[] = $file.' | '.$fileowner=$fileownerarray['name'];    }

      closedir($dir);
      echo 
      '<pre>';
      echo 
      $dirname;
      print_r($filelist);
      echo 
      '</pre>'
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        @derHund
        Kann es sein, dass du die Datei test.php genannt hast und dir das Verzeichnis ausgegeben gelassen hast, in dem diese test.php liegt?
        hmm, kann sein ... ehrlich gesagt kann ich mich nicht mehr genau daran erinnern ... hmm. warte, ich schau mal.

        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Original geschrieben von mrhappiness
          @derHund
          Kann es sein, dass du die Datei test.php genannt hast und dir das Verzeichnis ausgegeben gelassen hast, in dem diese test.php liegt?
          Ich hab zwar noch keine gespaltene Persönlichkeit aber es ist so wie du sagst
          [color=blue]MfG Payne_of_Death[/color]

          [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
          [color=red]Merke:[/color]
          [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

          Murphy`s Importanst LAWS
          Jede Lösung bringt nur neue Probleme
          Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
          In jedem kleinen Problem steckt ein großes, das gern raus moechte.

          Kommentar


          • #6
            So nun die fertige Lösung für alle die es interessiert:
            PHP-Code:
            $filelist = array();
            $dirname = ('/home/www/xxx/html/xxx/kunde_pdf/');
            $dir opendir($dirname);
            while ((
            $file readdir($dir)) !== false)
            {
                if(
            $file != '.' && $file != '..')
                {
                    
            $fileowneruid fileowner($dirname.$file);
                    
            $fileowneruidarray posix_getpwuid($fileowneruid); 
                    
            $fileowner $fileowneruidarray['name'];
                    
            $fileownergid filegroup($dirname.$file);
                    
            $fileownergidarray posix_getgrgid($fileownergid); 
                    
            $filegroup $fileownergidarray['name'];
                    if(
            $fileowner != 'xxx')
                    {
                        
            chown($dirname.$file'xxx');
                        
            chgrp($dirname.$file'xxx');
                        
            $filelist[] = $file.' | '.$fileowner.' '.$filegroup;
                    }
                }

            closedir($dir);
            echo 
            '<pre>';
            print_r($filelist);
            echo 
            '</pre>'
            Das aufrufen lassen per Cron alle 15 Minuten und es wird der entsprechende Hauptordner geprüft und die Unterordner geändert.

            Diese Lösung musste ich mir einfallen lassen, weil ich per Web-Browser Ordner anlegen lasse, nun habe ich aber das Problem, das ich in diese Ordner keine Files hochladen kann.
            Also der Umweg über die Console.
            Zuletzt geändert von Wotan; 27.01.2005, 22:06.
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar

            Lädt...
            X