Also das sieht mitlerweile etwas anders schon aus:
Mit chmod ("data/".$dateiname, 0644); gebe ich den Dateien die Rechte 644.
Der Ordner ist data, vergessen zu erwähnen, sry...
also data/datei.txt. (beispiel)
Die Links gehen nun, nur leider öffnet sich z.B. txt oder pdf im Browser, statt sie runter zu laden.
Hier das mal ausführlicher:
|
PHP Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
$dateien = mysql_query("SELECT * FROM Daten ORDER BY ID DESC"); // DB
while($row = mysql_fetch_assoc($dateien))
{
$idkill = $row[ID];
$dateinameabb = $row[dateiname]; // Enthält aus SQL den Dateiname (datei.txt)
echo "<a href='http://www.HOMEPAGE.de/data/$row[dateiname]'>$row[dateiname] herrunterladen</a><br />
<form action='dataupload.php' method='post'><input type='submit' name='$dateinameabb' value='Download' /><br />
<form action='dataupload.php' method='post'><input type='submit' name='$idkill' value='Löschen' />";
if(isset($_POST[$idkill]))
{
mysql_query("DELETE FROM Daten WHERE ID = $idkill");
unlink("data/".$row[dateiname]);
echo "<br /><br />Datei gelöscht!<br /><br />";
}
elseif(isset($_POST[$dateinameabb]))
{
$groesse = filesize("data/".$dateinameabb);
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename='data/$dateinameabb'");
header("Content-Transfer-Encoding: binary");
header('Content-Length: '.$groesse);
}
}
|
So siehts ungefähr aus (Ich habs noch mit Tabelle und ein aar Daten mehr und so, aber wäre nun zuviel, alles zu posten, im Grunde ist das das ja

)
Klickt man nur den Link an, öffnet man die Date.
Klickt man auf dem Button löschen, löscht er die Datei auch richtig aus der DB und aus dem Ordner.
klick ich nun auf Download, passiert nichts...
Zu jeder Datei gibt es ein SQL Eintrag, das funktioniert auch soweit, wie das hochladen der Datei und das chmod setzen und in die DB setzen und so.
Nur noch der Downloadbutton muss gehen

Und beim Link öffnet er es automatisch z.B. .pdf oder .txt im Browser.