1. Dashboard
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. HTML - Webmaster Forum
  2. Programmierung - Entwickler Forum
  3. PHP Forum - Apache - CGI - Perl - JavaScript und Co.

Dateiablage

  • kyr
  • 8. Februar 2009 um 00:06
  • kyr
    Schüler
    Beiträge
    50
    • 8. Februar 2009 um 00:06
    • #1

    Hallo

    Bin gerade daran eine Dateiablage zu erstellen. Passwortschutz und Upload sind mir gelungen.
    Die Dateien werden im Verzeichnis http://www.(...)/dateiablage/hochgeladene_datei.dateiendung gespeichert.

    Für andere Personen würde ich gerne diese Dateien zum download anbieten.
    Muss ich dafür den Downloadlink zuerst in der Datenbank speichern und dann wieder ausgeben? Würde das so gehen?

    mfg kyr

  • Bandit
    Gast
    • 8. Februar 2009 um 10:00
    • #2

    Es würde ausreichen, wenn du nur die Verzeichnisse ausliest und dann mit einem Link ausgibst.

  • VivaLosTioz
    Interessierte/r
    Beiträge
    112
    • 8. Februar 2009 um 10:18
    • #3

    Hi,

    das kommt drauf an wie Du die Dateien zum Download anbieten willst.
    Wie bandit schon sagte kannst du nen Script schreiben das das
    Verzeichnis ausließt und die Dateien als Download anbietet.

    Andere Möglichkeit währe den Dateinamen (ich gehe mal davon aus der wird
    in einer Datenbank gespeichert) aus der DB auszulesen und daraus einen
    DL-Link zu erstellen. Das Verzeichnis ist ja imme rdas selbe.

    Verzeichnis$dateinameausderdatenbank

    ...
    Viele Grüße

  • kyr
    Schüler
    Beiträge
    50
    • 8. Februar 2009 um 13:02
    • #4

    Hallo,

    Danke erstmals für die Antworten. Bin mit php leider noch nicht so vertraut, habe bis jetzt das hier hinbekommen:


    PHP
    ...
    
    
    // Hochgeladenen Datei verschieben
          if (@move_uploaded_file( $_FILES['datei']['tmp_name'],
    $DateiNameNeu ))
           {
    
          $db = @new mysqli('localhost', 'username', 'password', 'database');
          if (mysqli_connect_errno()) {
          die ('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
          }
          $sql = 'INSERT INTO
           Dateiablage(filname, date)
          VALUES
           ("http://.../dateiablage/<?php> echo' $_FILES['datei']['tmp_name'], $DateiNameNeu' ;",
             NOW());
    
    
        
    
          @chmod( $DateiNameNeu, 0755 );
    
          }
    
    
    
          <form name="DateiUpload" id="DateiUpload" method="post"  action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
          <input type="file" name="datei" id="datei">
          <input type="submit" name="submitbutton" id="submitbutton" value="Datei hochladen">
          </form>
    
    
         
          $db = @new mysqli('localhost', 'username', 'password', 'database');
          if (mysqli_connect_errno()) {
          die ('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
          }
          $sql = 'SELECT
               filename,
               date
            FROM
               Dateiablage';
    
    
       
    
    
           ?>
    Alles anzeigen
  • BendOr
    Kaiser(in)
    Beiträge
    2.496
    • 8. Februar 2009 um 13:03
    • #5

    hier stand mal was :)

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • Bandit
    Gast
    • 8. Februar 2009 um 13:35
    • #6

    Frage 1: Warum willst du die Namen als komplette URL in der DB speichern?
    Frage 2: Warum willst du die Namen überhaupt in der DB speichern?
    Frage 3: Ist dir klar, was in $_FILES['datei']['tmp_name'] steht?
    Frage 4: Was soll ein echo an dieser Stelle?
    Frage 5: Wieso 2x $db = @new mysqli(...);?
    Frage 6: Bei so vielen Fehlern in so wenig Quellcode, warum lernst du nicht erst einmal die Grundlagen?

  • kyr
    Schüler
    Beiträge
    50
    • 9. Februar 2009 um 19:03
    • #7

    Ok, hab's nun geschafft. Danke.

Tags

  • www
  • link
  • server
  • http
  • quellcode
  • verzeichnis
  • input
  • biete
  • speicher
  • download
  • php
  • fehler
  • upload
  • datei
  • datenbank
  • script
  • bank
  • load
  • files
  • name
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
Zitat speichern