mslin: Upload via a href

Hallo,

besteht die Möglichkeit sich über PHP die Dateien die sich in einem serverseitigen Ordner befinden tabelarisch ausgeben zu lassen (Ordner z.B. unter /home/user/xxx)  und diese als Link (<a href  usw...) zu einem upload zu übergeben - ähnlich wie bei input typ=file etc. ?

Stelle mir das so vor:

Jeder User hat auf dem Server seinen Hauptordner, da wird ein weiterer Ordner für alle angelegt - wo vom jeweiligen User die dateien abgelegt werden die er später uploaden will und in der MySQL DB speichern will - wie eine Dokumentenverwaltung.
User hat sein Dokument erstellt z.B. word datei, speichert diese in seinem Hauptordner, geht über unsere interne Webseite auf ein php wo alle seine vorher erstellten uns selbst abgelegten datei drinnen sind und klicht diese wie einen link an und schon soll die datei upgeloadet werden und in der MySQL DB gespeichert werden.

Könnte man sowas realisieren ohne immer erst auf Button Datei drucken zu drücken, erst wieder die datei suchen usw usw usw.??

Gruß
mslin

  1. hi,

    Könnte man sowas realisieren ohne immer erst auf Button Datei drucken zu drücken, erst wieder die datei suchen usw usw usw.??

    Der Datei-Auswahl-Dialog eines Browsers schwebt über der eigenen Festplatte, nicht über der Festplatte des Servers.

    Hotte

    --
    Wenn Dich ein Laie nicht versteht, bist Du noch lange nicht ein Fachmann.
    1. so könnts aussehen:
      <?php

      $Pfad = "../../../home/msirl/public_html";

      if($Verzeichniszeiger = opendir($Pfad))
      {
          while($Datei = readdir($Verzeichniszeiger))
          {
              if ($Datei != "." && $Datei != "..")
              {
                  if(is_dir($Datei))
                  {
                      echo"<font color="blue">";
                  }

      echo "<a href="test9902.php?file=$Datei">$Datei</a><br>";

      if(is_dir($Datei))
                  {
                      echo"</font>";
                  }
              }
          }

      closedir($Verzeichniszeiger);
      }

      ?>

      teil2:
      $datei = $_GET["file"];
      echo $datei;

      // hier sind die mySQL Daten einzufüllen
      @mysql_connect($DB_host, $DB_user, $DB_pass);
      @mysql_select_db($DB_0001);

      // Daten aus Temp-Datei einlesen
      $zeiger = fopen("../../../home/msirl/public_html/$datei", "rb");
      $size = $_FILES['datei']['size'];
      // den Dateiinhalt in $data speichern
      $data = fread($zeiger, $size);
      fclose($zeiger);

      // Temporäre Datei löschen
      //@unlink("temp/tempfile.tmp");

      // Damit die Datei jetzt in die mySQL Tabelle kann müssen wir sie vorher kodieren:
      $data = base64_encode($data);

      // Leerzeichen im Dateinamen werden mit einem Unterstrich ersetzt
      $dateiname = str_replace(" ", "_", $_FILES['datei']['name']);

      // Und ab in die mySQL Tabelle...
      $sql = "INSERT INTO $TBL_0002 VALUES(...

      jedoch macht mir das $data = fread($zeiger, $size); noch probleme...

      hat wer ne idee?
      mslin

      1. Hi,

        jedoch macht mir das $data = fread($zeiger, $size); noch probleme...

        hat wer ne idee?

        Idee: Du liest die Tipps für Fragende, und *beschreibst* dein Problem ...

        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.