2 Befehle ins Script einfügen

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

  • #16
    Wenn ich soetwas
    PHP-Code:
    foreach($files as $file => $byte)
     {
      echo 
    "<a href='upload.php?file=$file'>$file</a> ($byte Bytes)<br />";
    }
    }
    }
    }

    auch nur sehe, bekomme ich das grosse Grausen. Selbstverständlich merkst du bei so einer chaotischen Darstellung auch nicht, dass du den Array bei jedem Schleifendurchgang neu sortierst, aber selbstverständlich am Ende nicht mehr.
    So könnte das etwas lesbarer strukturiert aussehen:
    PHP-Code:
    <?
    // In diesem Verzeichnis befinden sich die Downloads
    $path = "uploads";
    if (isset($_GET['file'])) {
        $handle = fopen("$path/" . $_GET['file'] . "", 'a+');
        if ($handle) {
            write($handle, '0');
        } 
        else {
            echo "<br />Es ist ein Fehler aufgetreten.<br />";
        }
        fclose($handle);
    }

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

    // Öffnen des Verzeichnisses
    $handle = opendir ($path);
    $files = array(); // <- [EDIT] vor der while-Schleife
    // Für jede Datei im Verzeichnis eine neue Zeile als Schleife
    while (false !== ($file = readdir ($handle))){
        if ($file != "." && $file != ".." && $file != "index.html"){
            $pfad = $path . "/" . $file;
        // Grösse bestimmen
            $byte = filesize($pfad);
        // Erst alles in ein Array schreiben
            if (! is_dir($pfad)) {
                $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);
    ?>
    Gruss
    H2O

    Kommentar


    • #17
      So sieht es aus!

      PHP-Code:
      Array ( [Bugs.part13.rar] => 100000001 Bugs.part13.rar (100000001 Bytes)
      Array ( [
      Bugs.part64.rar] => 100000001 Bugs.part64.rar (100000001 Bytes)
      Array ( [
      Bugs.part30.rar] => 100000001 Bugs.part30.rar (100000001 Bytes)
      Array ( [
      Bugs.part56.rar] => 100000001 Bugs.part56.rar (100000001 Bytes
      Aber so sollte es aussehen

      PHP-Code:
      Array ( [Bugs.part01.rar] => 100000001 Bugs.part01.rar (100000001 Bytes)
      Array ( [
      Bugs.part02.rar] => 100000001 Bugs.part02.rar (100000001 Bytes)
      Array ( [
      Bugs.part03.rar] => 100000001 Bugs.part03.rar (100000001 Bytes)
      Array ( [
      Bugs.part04.rar] => 100000001 Bugs.part04.rar (100000001 Bytes


      EDIT: Das von H2O hat die Lösung des sortierens gebracht. DANK DIR!!

      Jetzt fehlt nur noch das das Script nach aufruf automatisch angewendet wird und man nicht jede datei einzeln anklicken muß.

      Ist das machbar?
      Zuletzt geändert von BabyRay; 03.12.2007, 20:34.

      Kommentar


      • #18
        Jetzt fehlt nur noch das das Script nach aufruf automatisch angewendet wird und man nicht jede datei einzeln anklicken muß.

        Ist das machbar?

        wie meinen? muss ich erst n kaffee trinken, um das zu verstehen, oder hast du dich wirklich nicht klar genug ausgedrückt??
        **********
        arkos
        **********

        Kommentar


        • #19
          PHP-Code:
          <?php
          $path 
          "uploads/"// mit abschließendem /
          $files glob($path."*"); // siehe Link
          sort($files); // sortieren
          foreach($files AS $file) { // Jede datei ausgeben:
              
          if($file != "index.html" AND !is_dir($file)) {
                  
          $byte filesize($file);
                  echo(
          "$file: ");
                  
          $handle fopen($file'a+');
                  if(
          $handle) {
                      
          fwrite($handle'0');
                      echo(
          "erfolgreich");
                  }else{
                      echo(
          "fehlgeschlagen!");
                  }
                  echo(
          " ($byte Bytes)<br />");
                  
          fclose($handle);
              }
          }
          ?>
          Sowas meinte ich.

          Man muß bei dem obigen Script jede Datei anklicken um sie zu ändern und ich wollte es halt automatisieren.

          Kommentar


          • #20
            Dieses Script macht doch genau das (sofern es das ganze Script ist). Oder verstehe ich jetzt etwas falsch?
            Gruss
            H2O

            Kommentar


            • #21
              Bei diesem muß man jede Datei anklicken um sie zu ändern!

              PHP-Code:
              <?
              // In diesem Verzeichnis befinden sich die Downloads
              $path = "uploads";
              if (isset($_GET['file'])) {
                  $handle = fopen("$path/" . $_GET['file'] . "", 'a+');
                  if ($handle) {
                      write($handle, '0');
                  } 
                  else {
                      echo "<br />Es ist ein Fehler aufgetreten.<br />";
                  }
                  fclose($handle);
              }

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

              // Öffnen des Verzeichnisses
              $handle = opendir ($path);
              $files = array(); // <- [EDIT] vor der while-Schleife
              // Für jede Datei im Verzeichnis eine neue Zeile als Schleife
              while (false !== ($file = readdir ($handle))){
                  if ($file != "." && $file != ".." && $file != "index.html"){
                      $pfad = $path . "/" . $file;
                  // Grösse bestimmen
                      $byte = filesize($pfad);
                  // Erst alles in ein Array schreiben
                      if (! is_dir($pfad)) {
                          $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);
              ?>

              Und dieses hier macht es nach aufruf im browser automatisch

              PHP-Code:
              <?php
              $path 
              "uploads/"// mit abschließendem /
              $files glob($path."*"); // siehe Link
              sort($files); // sortieren
              foreach($files AS $file) { // Jede datei ausgeben:
                  
              if($file != "index.html" AND !is_dir($file)) {
                      
              $byte filesize($file);
                      echo(
              "$file: ");
                      
              $handle fopen($file'a+');
                      if(
              $handle) {
                          
              fwrite($handle'0');
                          echo(
              "erfolgreich");
                      }else{
                          echo(
              "fehlgeschlagen!");
                      }
                      echo(
              " ($byte Bytes)<br />");
                      
              fclose($handle);
                  }
              }
              ?>


              Wollte damit eigentlich nur sagen das mein Script nun vollständig ist.

              Kommentar

              Lädt...
              X