Wieder mal Verzeichnise

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

  • Wieder mal Verzeichnise

    Meine Frage :

    Mit Folgenden Script Lese Ich da Verzeichniss RAR aus um die darin angezeigten
    Archive zum download anzubieten nun meine frage wie kann ich nun
    anstatt den Dateinamen eine nummer als link wert übergeben steh da momentan aufm schlauch ,
    brauch eure hilfe

    PHP-Code:
    function CheckExt($filename$ext
    {
        
    $passed FALSE;
        
    $testExt "\.".$ext."$";

        if (
    eregi($testExt$filename)) 
        {
            
    $passed TRUE;
        }
        return 
    $passed;
    }
    $link "rar";
    $exts = array("rar");
    $dir opendir($link);
    $files readdir($dir);
    echo 
    "<table >";
    while (
    false !== ($files readdir($dir))) 
    {
        foreach (
    $exts as $value
        {
            if (
    CheckExt($files$value)) 
            {
                
    $dir_inhalt[] = $files
                  echo 
    "<tr >";
              echo 
    "<td id=\"tablink\" width='100%' align=left>
    <a href='download.php?what=
    $files'>&nbsp;&nbsp;$files</a>
    </td>"
    ;
                echo 
    "</tr>";
                
                break;
            }
        }
    }
    echo 
    "</table><br>"
    closedir($dir); 
    danke für eure hilfe

    MFG Ascharan
    Zuletzt geändert von Ascharan; 23.12.2007, 02:07.
    Mehr als die Vergangenheit interessiert mich die Zukunft, denn in ihr gedenke ich zu leben.


    Albert Einstein

  • #2
    indem du statt n verzeichnis auslesen ne mysql-tabelle machst, die dateien einträgst und die ID dazu übergibst ?
    Signatur-Text ...

    Kommentar


    • #3
      sorry aber der inhalt des verzeichnis ändert sich ständig und dann jedes mal den inhalt der tabelle löschen und neu eintragen komm,

      geht das nich mit n array oder ähnlich
      Mehr als die Vergangenheit interessiert mich die Zukunft, denn in ihr gedenke ich zu leben.


      Albert Einstein

      Kommentar


      • #4
        du kannst sicherlich alle dateien in ein array packen, sortieren und den index als id benutzen.
        nur wenn's dynamisch ist, hast du das problem, dass die ids nicht konsistent sind.

        Kommentar


        • #5
          hm ?

          is aber genauso blöde alles in einer Datenbank zu schreiben : naja
          muss ich halt mir was einfallen lassen.

          aber trotzdem mal die frage wie mach ich das mit array's
          Mehr als die Vergangenheit interessiert mich die Zukunft, denn in ihr gedenke ich zu leben.


          Albert Einstein

          Kommentar


          • #6
            aber trotzdem mal die frage wie mach ich das mit array's
            $_SESSION würde sich da anbieten!!
            Wir werden alle sterben

            Kommentar


            • #7
              Original geschrieben von Ascharan
              hm ?

              is aber genauso blöde alles in einer Datenbank zu schreiben
              Und was ist genau so blöde daran?!
              [FONT="Helvetica"]twitter.com/unset[/FONT]

              Shitstorm Podcast – Wöchentliches Auskotzen

              Kommentar


              • #8
                Irgendwas in eine DB zu stopfen, nur damit man es numerieren kann, ist blöd!
                Ohne wenn und aber
                Wir werden alle sterben

                Kommentar


                • #9
                  also ich finde es in diesem fall blöd, anstelle des dateinamens unbedingt eine künstlich erzeugte id im link haben zu wollen.

                  warum eigentlich? nur damit es schöner aussieht oder hat es auch richtige gründe?

                  Kommentar


                  • #10
                    nö ich machs nur weil ich es des öffteren gesehen hab (ps. Ohne Datenbank) und ohne besonderen grund .

                    wollte das so machen das beim einlesen ins verzeichnis ein array angelegt wird und ich via 0 => dateiname nur die null über gebe
                    und beim Klick auf den Download link der dateiname an das download script übergibt.

                    @unset warum sollte ich extra eine Datenbank anlegen um daten reinzuschreiben wenn das verzeichnis nich dafür forgesehen ist länger zu existitieren .

                    Ich wollte es Dynamisch gestallten und vereinfachen außer das mit dem Array naja egal

                    Na wenns nich anders geht bleib ich bei den Dateinamen egal

                    Aber sollte doch einer lusst haben mir zu helfen hab immer ein offenes ohr

                    Frohe Weihnacht MFG Ascharan

                    ps: Hoffe ich war nicht unhöfflich ist nich meine absicht
                    Mehr als die Vergangenheit interessiert mich die Zukunft, denn in ihr gedenke ich zu leben.


                    Albert Einstein

                    Kommentar


                    • #11
                      Wie gesagt:
                      Wenn du IDs ohne eine DB verwenden möchtest, bieten sich Sessions an!!
                      Das ist mein tiefer Ernst!

                      Sonst bekommste du das bei einem Verzeichniss mit wechselnden Dateien nicht in den Griff.
                      Wir werden alle sterben

                      Kommentar


                      • #12
                        Original geschrieben von Ascharan

                        @unset warum sollte ich extra eine Datenbank anlegen um daten reinzuschreiben wenn das verzeichnis nich dafür forgesehen ist länger zu existitieren .
                        Warum solltest du dann IDs haben wollen, die "gar nicht dafür vorgesehen sind, länger zu existieren"?
                        [FONT="Helvetica"]twitter.com/unset[/FONT]

                        Shitstorm Podcast – Wöchentliches Auskotzen

                        Kommentar


                        • #13
                          hab jetzt keine lust Warum Gründe Anzugeben noch eins dazu würde ich zwischen 50 & 100 dateien verwalten müssen würde ich erst eine datenbank in betracht ziehen davor lohnt sich sowas einfach nich

                          @combie wie mainst du das mit sessions kannst du ein bsp. geben und glaube hab dich schon beim erstenmal ernst genommen
                          Mehr als die Vergangenheit interessiert mich die Zukunft, denn in ihr gedenke ich zu leben.


                          Albert Einstein

                          Kommentar


                          • #14
                            PHP-Code:
                            // dir_einlesen.php
                            session_start();
                            $_SESSION['rardateien'] = glob('./pfad/zu/den/dateien/*.rar'); 
                            Und dann noch die Links in einer foreach Schleife ausgeben.... Als ID, verwendest du jetzt den ArrayIndex.
                            Wir werden alle sterben

                            Kommentar


                            • #15
                              Hast du es vieleicht so gemeint?
                              Hab mich mal dran versucht...

                              PHP-Code:
                              <?php
                              session_start
                              ();

                              function 
                              CheckExt($filename$ext
                              {
                                  
                              $passed FALSE;
                                  
                              $testExt ".".$ext."$";

                                  if (
                              eregi($testExt$filename)) 
                                  {
                                      
                              $passed TRUE;
                                  }
                                  return 
                              $passed;
                              }

                              function 
                              tabelle() {
                                  
                                  global 
                              $files$dir$exts;
                                  
                                  echo 
                              "<table >";
                                  
                              $i=0;
                                  while (
                              false !== ($files readdir($dir))) {
                                      foreach (
                              $exts as $value) {
                                          if (
                              CheckExt($files$value)) {
                                              
                              $dir_inhalt[] = $files;
                                              
                              $rars[] = $files
                                              echo 
                              "<tr >";
                                              echo 
                              '<td id="tablink" width="100%" align=left><a href="download.php?what='.$i.'">&nbsp;&nbsp;'.$i.'</a></td>';
                                              echo 
                              "</tr>";
                                              
                              $i++;
                                              break;
                                          }
                                      }
                                  }
                                  
                              $_SESSION['rars'] = $rars;
                                  echo 
                              "</table><br>";
                              }

                              $link    "rar";
                              $exts    = array("rar");
                              $dir    opendir($link);
                              $files    readdir($dir);

                              if (isset(
                              $_GET['what'])) {
                                  
                              $query    $_GET['what'];
                                  
                              $file    "rar/".$_SESSION['rars'][$query];
                                  
                              $size    filesize($file);
                                  
                              header("Content-Type:  application/rar'");
                                  
                              header("Content-Length: ".$size);
                                  
                              header("Content-Disposition: attachment; filename=".$_SESSION['rars'][$query]);
                                  
                              readfile($file);
                                  unset(
                              $_SESSION['rars']);    
                                  
                              tabelle();
                              } else {
                                  
                              tabelle();
                              }

                              closedir($dir);
                              ?>

                              Kommentar

                              Lädt...
                              X