Upload via a href
mslin
- php
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
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
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
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