|
| Autor |
Nachricht |
chrusher Neuer [User]

Anmeldung: 22.04.08 Beiträge: 8
|
Verfasst am: 22.04.2008, 17:41 Titel: Download link |
|
|
Hallo liebe Webmasterwelt Mitglieder
Ich habe die Sufu benutzt aber habe leider nichts gefunden
Nun zu meinem Problem:
Ich habe eine datei z.B.
http://89.155.123.87/src/test.avi
Aber ich möchte das man diese Datei so nicht aufrufen kann, ich möchte diese Datei zum downloaden anbieten. Mein Wunsch wäre wenn es so aussehen würde:
http://89.155.123.87/src/php/download.php?id_20
weiteres möchte ich noch dass sich die id alle 12 Stunden wechselt mit einer zufällig generierten Zahl.
Ich hoffe ihr könnt mir helfen. Danke im voraus
MFG
chrusher
PS: Ich bin in php neu eingestiegen also ein blutiger Anfänger ...
|
|
| Nach oben |
|
 |
benjam4 Bekannter [Mod]


Anmeldung: 17.05.06 Beiträge: 1225 Wohnort: Ostfildern ...
|
Verfasst am: 22.04.2008, 20:57 Titel: |
|
|
Dazu musst du die Dateien in eine Datenbank (zB Mysql) eintragen.
Wenn dann dein Script aufgerufen wird, schaut es nach, welche Datei die Id=20 hat.
Dann hast du den Dateinamen.
Dann musst du nur noch mit PHP diese Datei zum Download aufrufen:
| Code: | $file = '/pfad/zu/einer/datei.zip'; #Hier musst du stattdessen deinen dynamischen Pfad aus der DB eintragen
// Dateityp
header( 'Content-type: application/octet-stream' );
// Grö�e der Datei
header( 'Content-Length: ' . filesize( $file ) );
// Dateiname
$dateiname = basename( $file );
header( 'Content-Disposition: attachment; filename="' . $dateiname . '"' );
// Ausgeben der Datei
readfile( $file ); |
Den Code habe ich nicht probiert, ich habe sowas selber noch nicht gebraucht, deshalb habe ich auf google zurückgegriffen, und es nur minimal angepasst.
Probiers einfach mal aus.
Gruß, Benjamin
PS: Bekommst du das hin mit der Datenbank? _________________ Rechtschreibfehler sind beabsichtigt, sie dienen der Verschleiherung meiner tatsächlichen Genialität
____________________________________
Eine Signatur sie alle zu knechten
|
|
| Nach oben |
|
 |
chrusher Neuer [User]

Anmeldung: 22.04.08 Beiträge: 8
|
Verfasst am: 24.04.2008, 12:26 Titel: |
|
|
vielen dank benjam4
ich bedanke mich für deine mühe
das mit der datenbank bekomme ich leider nicht hin
könntest du mir da weiter helfen
danke
|
|
| Nach oben |
|
 |
benjam4 Bekannter [Mod]


Anmeldung: 17.05.06 Beiträge: 1225 Wohnort: Ostfildern ...
|
Verfasst am: 24.04.2008, 13:42 Titel: |
|
|
Jo, zuerst mal, hast du eine Mysqldatenbank in deinem Hostingpaket?
Wenn ja, such mal die Phpmyadmin Oberfläche _________________ Rechtschreibfehler sind beabsichtigt, sie dienen der Verschleiherung meiner tatsächlichen Genialität
____________________________________
Eine Signatur sie alle zu knechten
|
|
| Nach oben |
|
 |
chrusher Neuer [User]

Anmeldung: 22.04.08 Beiträge: 8
|
Verfasst am: 24.04.2008, 14:09 Titel: |
|
|
mit der datenbank kenn ich mich aus aber ich weiß nicht wie bzw wo ich das eintragen soll
ich vermute mal das ich eine neue tabelle erstellen muss oder ?
|
|
| Nach oben |
|
 |
benjam4 Bekannter [Mod]


Anmeldung: 17.05.06 Beiträge: 1225 Wohnort: Ostfildern ...
|
Verfasst am: 24.04.2008, 14:17 Titel: |
|
|
genau, die sollte mind. 2 spalten haben. einmal id und einmal den dateinamen.
Die Id sollte prim. key sein. _________________ Rechtschreibfehler sind beabsichtigt, sie dienen der Verschleiherung meiner tatsächlichen Genialität
____________________________________
Eine Signatur sie alle zu knechten
|
|
| Nach oben |
|
 |
chrusher Neuer [User]

Anmeldung: 22.04.08 Beiträge: 8
|
Verfasst am: 24.04.2008, 14:36 Titel: |
|
|
also
ich erstelle eine neue tabelle
name: down Anzahl der Felder: 2
dann kommt
Feld TypDokumentation Länge/Set1 Kollation Attribute Null Standard2 Extra Primärschlüssel Index Unique --- Volltext Kommentare
CURRENT_TIMESTAMP
da weiß ich nicht was ich eintippen soll
Zuletzt bearbeitet von chrusher am 24.04.2008, 16:20, insgesamt einmal bearbeitet
|
|
| Nach oben |
|
 |
benjam4 Bekannter [Mod]


Anmeldung: 17.05.06 Beiträge: 1225 Wohnort: Ostfildern ...
|
Verfasst am: 24.04.2008, 14:49 Titel: |
|
|
also id bekommt den Typ INT und ne länge von sagen wir mal 4.
dann die spalte datei: typ varchar und länge 255.
Dann musst du bei id noch den Haken, oder den Kreis bei Primary Key hinmachen.
Mehr ist eigentlich nicht nötig. _________________ Rechtschreibfehler sind beabsichtigt, sie dienen der Verschleiherung meiner tatsächlichen Genialität
____________________________________
Eine Signatur sie alle zu knechten
|
|
| Nach oben |
|
 |
chrusher Neuer [User]

Anmeldung: 22.04.08 Beiträge: 8
|
Verfasst am: 24.04.2008, 15:09 Titel: |
|
|
so ich habs erstellte
vielen dank nochmal benjam4
wie kann ich jetzt ne datei in die datenbank eintragen ....
|
|
| Nach oben |
|
 |
benjam4 Bekannter [Mod]


Anmeldung: 17.05.06 Beiträge: 1225 Wohnort: Ostfildern ...
|
Verfasst am: 24.04.2008, 15:32 Titel: |
|
|
also, ich würd sie in ein spezielles Verzeichnis hochladen, dann den Dateinamen mit phpmyadmin einfügen, und eine beliebige nummer bei id eintragen. _________________ Rechtschreibfehler sind beabsichtigt, sie dienen der Verschleiherung meiner tatsächlichen Genialität
____________________________________
Eine Signatur sie alle zu knechten
|
|
| Nach oben |
|
 |
chrusher Neuer [User]

Anmeldung: 22.04.08 Beiträge: 8
|
Verfasst am: 24.04.2008, 15:43 Titel: |
|
|
| benjam4 hat folgendes geschrieben: | | also, ich würd sie in ein spezielles Verzeichnis hochladen, dann den Dateinamen mit phpmyadmin einfügen, und eine beliebige nummer bei id eintragen. |
meine frage ist ja wie ich eben den dateinamen in phpmyadmin einfüge
|
|
| Nach oben |
|
 |
benjam4 Bekannter [Mod]


Anmeldung: 17.05.06 Beiträge: 1225 Wohnort: Ostfildern ...
|
Verfasst am: 24.04.2008, 15:56 Titel: |
|
|
per hand, einfach abtippen, oder du schreibst dir ein skript, das deine Datei hochläd, und gleich den namen in die DB einfügt.
Willst du viele Einträge in die DB machen oder nur ein paar?
EDIT: Ich habe dir ein kleines Skript geschrieben, das bei jedem Aufruf die Ids ändert.
Das musst du dann nur noch mit nem Cronjob alle 12h aufrufen.
| Code: | <?php
$nummern=array();
$nummern_neu=array();
$sel=db_query("SELECT * FROM down");
while ($row=mysql_fetch_object($sel)) {
array_push($nummern, $row->id);
}
$sel=db_query("SELECT * FROM down");
while ($row=mysql_fetch_object($sel)) {
if (in_array($row->id, $nummern)==true) {
$rand=rand(1,9999);
while(in_array($rand, $nummern_neu)) {
$rand=rand(1,9999);
}
$ins=db_query("UPDATE down Set id='$rand' WHERE id='$row->id'");
array_push($nummern_neu, $rand);
}
}
?> |
Da musst du nur noch verbindung mit deiner Datenbank aufnehmen in dem Skript. _________________ Rechtschreibfehler sind beabsichtigt, sie dienen der Verschleiherung meiner tatsächlichen Genialität
____________________________________
Eine Signatur sie alle zu knechten
Zuletzt bearbeitet von benjam4 am 24.04.2008, 16:02, insgesamt einmal bearbeitet
|
|
| Nach oben |
|
 |
chrusher Neuer [User]

Anmeldung: 22.04.08 Beiträge: 8
|
Verfasst am: 24.04.2008, 16:02 Titel: |
|
|
es wäre praktisch wenn ich so ein script hätte
notfalls würde ich es auch per hand machen
|
|
| Nach oben |
|
 |
benjam4 Bekannter [Mod]


Anmeldung: 17.05.06 Beiträge: 1225 Wohnort: Ostfildern ...
|
Verfasst am: 24.04.2008, 16:03 Titel: |
|
|
wie groß sollen die Dateien denn etwas werden. 5mb oder eher größer? _________________ Rechtschreibfehler sind beabsichtigt, sie dienen der Verschleiherung meiner tatsächlichen Genialität
____________________________________
Eine Signatur sie alle zu knechten
|
|
| Nach oben |
|
 |
chrusher Neuer [User]

Anmeldung: 22.04.08 Beiträge: 8
|
Verfasst am: 24.04.2008, 16:19 Titel: |
|
|
auf jeden fall größer als 5 MB
so max 1 gb
|
|
| Nach oben |
|
 |
|
|