2 Befehle ins Script einfügen

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

  • 2 Befehle ins Script einfügen

    Hallo zusammen,

    da ich was PHP usw. angeht nicht Fit bin, habe ich mir gedacht ich vielleicht Hilfe bekomme.

    Ist hier einer dabei der einen Befehl zum alphabetischen sortieren (von A-Z) einfügen kann und ein Befehl um das Script automatisch auf alle im Ordner befindlichen Dateien anzuwenden und nicht wie es jetzt ist. Jetzt geht eine neue Seite auf wo man alle Dateien wild durcheinander sieht und dann muß man die zu verändernde Datei anklicken.

    Bitte an dem Script nicht verändern,nur den/die Befehl/e einfügen.
    Auf dem Webspace ist PHP 4.4.4

    PHP-Code:
    <?
    // In diesem Verzeichnis befinden sich die Downloads
    $path = "uploads";

    if (isset($_GET['file'])) {
    $handle = fopen("$path/".$_GET['file']."", 'a+');

    if ($handle) {
    fwrite($handle, '0');
    } else {
    echo "<br />Es ist ein Fehler aufgetreten.<br />";
    }

    fclose($handle);
    }

    echo "Einfach auf die Datei klicken damit sie geändert wird.<br /<br />";


    // Öffnen des Verzeichnisses
    $handle = opendir ($path);
    // Für jede Datei im Verzeichnis eine neue Zeile als Schleife
    while (false !== ($file = readdir ($handle))){
    if ($file != "."){
    if ($file != ".."){
    if ($file != "index.html") {
    // Grösse bestimmen
    $byte = filesize($path."/".$file);

    // Ausgabe des Links
    if (! is_dir($path."/".$file)) {
    echo "<a href='upload.php?file=$file'>uploads/$file</a> ($byte Bytes)<br />";
    }
    }
    }
    }
    }
    // Verzeichnis wieder schliessen
    closedir($handle);
    ?>

    Danke für die tatkräftige Unterstützung

  • #2
    Re: 2 Befehle ins Script einfügen

    Bitte an dem Script nicht verändern,nur den/die Befehl/e einfügen.
    befehle einfügen IST verändern!!!

    du musst deine ausgabe
    PHP-Code:
    // Ausgabe des Links
    if (! is_dir($path."/".$file)) {
    echo 
    "<a href='upload.php?file=$file'>uploads/$file</a> ($byte Bytes)<br />";

    in ein array packen, und das kannst du dann bestens sortieren...
    aber ich darf ja nichts verändern
    **********
    arkos
    **********

    Kommentar


    • #3
      So genau sollte man es nicht nehmen

      Kannst du das Script vielleicht mal so ändern das es von A-Z sortiert und ja darfst die Stelle auch verändern

      Kommentar


      • #4
        Kannst du das Script vielleicht mal so ändern das es von A-Z sortiert und ja darfst die Stelle auch verändern
        Dann biste aber im falschen Forum. Wäre dann ja wohl eher Projekthilfe oder Jobangebot.
        Und die Sache mit dem Array ist keine Zauberei. Man könnte ja auf die Idee kommen zum Thema Array mal ins Manual zu schauen (man könnte dabei glatt noch was lernen )
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Und die Sache mit dem Array ist keine Zauberei. Man könnte ja auf die Idee kommen zum Thema Array mal ins Manual zu schauen (man könnte dabei glatt noch was lernen )
          ganz seiner meinung
          versuchs mal mitm ansatz - dann helfen wir gerne weiter.

          hier dein start:
          http://de3.php.net/sort
          **********
          arkos
          **********

          Kommentar


          • #6
            Ins Blaue geschossen vermute ich der TS sucht natsort()
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              PHP-Code:
              $lpath "uploads";
              $dir opendir($lpath);

              while (
              $files readdir($dir))
              {
                if ((
              $files!= ".") && ($files!= ".."))
                {
                  
              $farray[] = $files;
                }
              }

              closedir($dir);

              sort($farraySORT_STRING); //oder andere methode

              foreach($farray as $filename)
              {
               echo
              "$filename<br/>";
              }  

              closedir($dir); 

              Ich glaube sowas in der Richtung ist wohl das was ich suche aber ich weiß nicht wo genau ich das einfügen bzw. was ich damit ersetzen muß

              Kommentar


              • #8
                ja, das kommt dem schon nahe... und nu kurz überlegt.
                (schritt für schritt)

                statt der dirakten ausgabe mit echo"<a ... blablabla willst du die eingelesenen files in ein array packen....

                also, wo muss folgendes aus deinem neuen beispiel dann wohl hin?

                PHP-Code:
                $farray[] = $files;  //tipp: $files heißt in deinem original-script $file 
                **********
                arkos
                **********

                Kommentar


                • #9
                  Re: 2 Befehle ins Script einfügen

                  PHP-Code:
                  <?

                  // Ausgabe des Links
                  if (! is_dir($path."/".$file)) {
                  echo "<a href='upload.php?file=$file'>uploads/$file</a> ($byte Bytes)<br />";
                  }
                  }
                  }
                  }
                  }
                  // Verzeichnis wieder schliessen
                  closedir($handle);
                  ?>
                  Irgendwo hier muß ich das wohl einfügen.

                  PHP-Code:
                  $farray[] = $files;  //tipp: $files heißt in deinem original-script $file 
                  Ist das alles was ich einfügen muß?

                  Kommentar


                  • #10
                    Re: Re: 2 Befehle ins Script einfügen

                    Original geschrieben von BabyRay
                    Irgendwo hier muß ich das wohl einfügen.

                    PHP-Code:
                    $farray[] = $files;  //tipp: $files heißt in deinem original-script $file 
                    ... nur wo?? wenn du die posts vorher genau liest, müsstest du wissen wo GENAU du es einsetzt und was ERSETZT wird...

                    Original geschrieben von BabyRay
                    Ist das alles was ich einfügen muß?
                    ... nein. schritt für schritt. und in diesem ersten (von drei schritten) speichern wir die daten statt sie gleich auszugeben.

                    schritt zwei wird dann sein: sortieren

                    schritt drei: ausgeben
                    **********
                    arkos
                    **********

                    Kommentar


                    • #11
                      Sorry aber ich hab von der Materie null Ahnung und auch nicht die Zeit dazu mich einzulesen. Von daher könnt ihr den Thread closen.

                      Kommentar


                      • #12
                        PHP-Code:
                        // Ausgabe des Links
                        if (! is_dir($path."/".$file)) {
                        echo 
                        "<a href='upload.php?file=$file'>uploads/$file</a> ($byte Bytes)<br />";

                        so auf die schnelle:
                        PHP-Code:
                        // Erst alles in ein Array schreiben
                        $files = array(); // <- [EDIT] vor der while-Schleife
                        if (! is_dir($path."/".$file)) {
                        $files[$file] = $byte;
                        }

                        // Nach Schlüsseln sortieren
                        ksort($files);

                        // Und jetzt erst die Links ausgeben
                        foreach($files as $file => $byte)
                         {
                          echo 
                        "<a href='upload.php?file=$file'>uploads/$file</a> ($byte Bytes)<br />";
                         } 
                        Zuletzt geändert von 3DMax; 24.11.2007, 23:13.

                        Kommentar


                        • #13
                          PHP-Code:
                          <?
                          // In diesem Verzeichnis befinden sich die Downloads
                          $path = "uploads";

                          if (isset($_GET['file'])) {
                          $handle = fopen("$path/".$_GET['file']."", 'a+');

                          if ($handle) {
                          fwrite($handle, '0');
                          } else {
                          echo "<br />Es ist ein Fehler aufgetreten.<br />";
                          }

                          fclose($handle);
                          }

                          echo "Einfach auf die Datei klicken damit sie geändert wird.<br /<br />";


                          // Öffnen des Verzeichnisses
                          $handle = opendir ($path);
                          // Für jede Datei im Verzeichnis eine neue Zeile als Schleife
                          while (false !== ($file = readdir ($handle))){
                          if ($file != "."){
                          if ($file != ".."){
                          if ($file != "index.html") {
                          // Grösse bestimmen
                          $byte = filesize($path."/".$file);

                          // Erst alles in ein Array schreiben
                          $files = array(); // <- [EDIT] vor der while-Schleife
                          if (! is_dir($path."/".$file)) {
                          $files[$file] = $byte;
                          }

                          // Nach Schlüsseln sortieren
                          ksort($files);

                          // Und jetzt erst die Links ausgeben
                          foreach($files as $file => $byte)
                           {
                            echo "<a href='upload.php?file=$file'>$file</a> ($byte Bytes)<br />";
                          }
                          }
                          }
                          }
                          }
                          // Verzeichnis wieder schliessen
                          closedir($handle);
                          ?>

                          Habe ich das jetzt soweit richtig gemacht oder nicht
                          Zuletzt geändert von BabyRay; 27.11.2007, 20:55.

                          Kommentar


                          • #14
                            Gibs es denn keinen der mir helfen kann?

                            Kommt schon Jungs es ist doch bald Weihnachten

                            Kommentar


                            • #15
                              Gibs es denn keinen der mir helfen kann?
                              Was funzt denn noch nicht? Hast du dir das sortierte Array mal ausgeben lassen und geprüft ob die Reihenfolge stimmt?
                              PHP-Code:
                              ksort($files);
                              print_r($files); 
                              Wie sieht es denn mit der Reihenfolge aus?
                              Und das error_reporting() haste voll aufgdreht?
                              PHP-Code:
                              //erste Zeile deines Codes
                              error_reporting(E_ALL); 
                              Gruss

                              tobi
                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Kommentar

                              Lädt...
                              X