Temp filenamen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
angeben
code
datei
dateiname
disposition
erstellen
file
forum
frage
header
http
inhalt
laden
login
ordner
parameter
tab
type
wissen
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du musst bei jedem Download den Dateinamen ändern. Also einen Dateinamen, und dann eine immer wechselnde Zahl hintendrann hängen. Wenn man eingeloggt ist, kann die Zahlt aus der Textdatei, oder der Datenbank gelsen werden, und der Dateiname wird somit vollständig.
-
Der User darf den DL Link nicht wissen. Du musst eine download.php erstellen.
<?php $dfile = "Dein Dateiname.irgendwas"; //bsp: files/peter.mp3 header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"".basename($dfile)."\""); readfile($dfile); ?>
Da musst du dann natürlich noch machen, dass man per GET parameter angeben kann, was man laden will etc. Und deine Login abfrage natürlich auch -
Der User darf den DL Link nicht wissen. Du musst eine download.php erstellen.
<?php $dfile = "Dein Dateiname.irgendwas"; //bsp: files/peter.mp3 header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename="".basename($dfile)."""); readfile($dfile); ?>
Da musst du dann natürlich noch machen, dass man per GET parameter angeben kann, was man laden will etc. Und deine Login abfrage natürlich auch
Herzlichen Glückwunsch. ^^
Du sendet via "header ()" dem User den Dateinamen...
An sich ist die Idee aber der richtige Weg, um den Download nur bestimmten Personen zugänglich zu machen.
Allerdings sollte man dann die Dateien in einem extra Verzeichnis abspeichern und den Zugriff dann via htaccess verbieten, oder sie gleich außerhalb des Document Roots speichern. -
ich sende nur den dateinamen.. z.b. peter.mp3.. das is auch wichtig.. soll ja nich doof download.php heißen ;)
Und ich denk nicht dass die dateien im root gespeichert werden..
Und der User weiß dann nicht dsas die dateien in /downloads/ oder /files/ liegen.. den ordner kann man dann natürlich noch mit htaccess schützen.. -
wenn ich das richtig verstanden habe dann habe ich einen ordner der mit htacess
schützt ist in dem die dateien liegen. Dann rufe ich eine php seite auf die dann das file rauskopiert und dann den filenamen ändert. Aber wie kann ich die Datei kopieren? Wäre es möglich das der von euch obengeschriebene Code ein bisschen besser erklärt wird?
lg,
speckuntu -
Nein der kopiert die datei nicht raus, er liest den INHALT der Datei aus und sendet den INHALT an den User.
-
Google, anyone? http://www.tutorials.de/forum/php-tutorials/25850-php-download-protector-pro.html
da steht zwar schön um was es in dem toturial geht aber wie komme ich zu dem?
-
Google, anyone? http://www.tutorials.de/forum/php-tutorials/25850-php-download-protector-pro.html
da steht zwar schön um was es in dem toturial geht aber wie komme ich zu dem?
Nach unten scrollen? -
habe mitlerweile
header("Content-type: audio/x-mpeg");
$fp = fopen($file, "r");
while(!feof($fp))
{
echo fgets($fp, 1024);
flush();
}
fclose($fp);
zum streamen von musik gefunden nur das problem ist das ich zwar die den inhalt von der datei bekomme aber leider als stream.php und mein als <object> eingebetter windows media player kann mit der php datei nicht viel anfangen -
Der User darf den DL Link nicht wissen. Du musst eine download.php erstellen.
<?php $dfile = "Dein Dateiname.irgendwas"; //bsp: files/peter.mp3 header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"".basename($dfile)."\""); readfile($dfile); ?>
Da musst du dann natürlich noch machen, dass man per GET parameter angeben kann, was man laden will etc. Und deine Login abfrage natürlich auch
Was ist das Problem mit dieser Lösung? So wird das gemacht und es wird nicht nur der Dateiname gesendet, sonder auch der Inhalt der Datei (letzte Codezeile). Man muss nur noch eine Überprüfung integrieren, ob der User eingeloggt ist. Und am besten noch das Verzeichnis, in dem die Datei wirklich liegt nur für das System lesbar schützen. So ist man auf der sicheren Seite, falls doch jemand den richtigen Link errät. -
am schluss noch eine andere Frage: wie kann ich die datei noch zusetzlich schützen weil jetzt kann man falls man gerade angemeldet ist in einem neuem Tab die Datei downloaden, kann man das irgendwie unterbinden? Und welchen Pfad schreibe ich dann dem Windwos Media player der im Quelltext eingebettet ist wenn die die php datei download.php heißt und das dokument was er ausgibt stream.mp3 heißt?
Beitrag geändert: 30.12.2008 20:51:49 von speckuntu -
am schluss noch eine andere Frage: wie kann ich die datei noch zusetzlich schützen weil jetzt kann man falls man gerade angemeldet ist in einem neuem Tab die Datei downloaden, kann man das irgendwie unterbinden?
Wäre jetzt die Frage, warum das unterbinden willst, da doch eigentlich alle angemeldeten Benutzer das Recht haben sollten die Datei herunterzuladen - oder wie meinst du das?
Du könntest natürlich zum Herunterladen noch einen Hash überprüfen, den du auf der Downloadseite angibst und auf dem Server speicherst, so dass dieser nur einmalig und User-gebunden benutzt werden kann...
und iw kann ich machen dass die datei die der client bekommt immer gleich heißt?
Indem du in der folgenden Zeile "basename($dfile)" durch den Dateiindividuellen Namen ersetzt. Also z.B. den Namen der Datei, den du beim Hochladen in der Datenbank mit abgespeichert hast.
header("Content-Disposition: attachment; filename=\"".basename($dfile)."\"");
Und welchen Pfad schreibe ich dann dem Windwos Media player der im Quelltext eingebettet ist wenn die die php datei download.php heißt und das dokument was er ausgibt stream.mp3 heißt?
Da kann ich dir leider nicht bei weiterhelfen. Ob es so überhaupt geht, weiß ich leider auch nicht.
PS: Du solltest aber bedenken, dass du auf dem normalen Webspace hier keine MP3-Dateien ablegen darfst.
Beitrag geändert: 30.12.2008 20:59:05 von karlja -
.
PS: Du solltest aber bedenken, dass du auf dem normalen Webspace hier keine MP3-Dateien ablegen darfst.
das istmir bewusst aber zum glück gibt es auch noch private Server. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage