CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
29.04.2007, 14:45:44
|
Anfänger
|
|
Registriert seit: Apr 2007
Beiträge: 14
|
|
Variable per Link übergeben
Hallo,
ich möchte eine Variable per Link übergeben (Zum Beispiel "datei.zip").
Nur Leider weiß ich als PHP-Neuling nicht wie. Im Moment habe ich es geschafft, dass die Datei durch den Aufruf des unteren Scriptes korrekt aufgerufen wird (mit 6 kb pro Sekunde), aber ich würde dieses Script in einem Ordner ablegen und bei Bedarf die Variable angeben:
Etwa "http://www.domain.tld/gallerien/dl?=datei.zip"
PHP-Code:
<?php
$file = "datei.zip"; // Datei zum Herunterladen
$speed = 6; // Downloadrate, hier 6 kb/s
if(file_exists($file) && is_file($file)) { // Prüfung auf Existenz der Datei
header("Cache-control: private"); // Überlässt die Kontrolle der Dateiübertragung dem Script
header("Content-Type: application/octet-stream"); // Setzt den Header zum Download
header("Content-Length: ".filesize($file)); // Gibt die Dateigröße an
header("Content-Disposition: filename=$file"); // Definiert, wo die Datei liegt.
flush(); // Leert den Zwischenspeicher
$fd = fopen($file, "r"); // Öffnet die Datei zum Lesen
while(!feof($fd)) {
echo fread($fd, round($speed*1024)); // Liest und sendet exakt soviel KB, wie angegeben
flush(); // Leert wieder den Zwischenspeicher
sleep(1); // Setzt das Script für 1 Sekunde aus
}
fclose ($fd);
}
?>
|
29.04.2007, 15:08:26
|
|
Anfänger
|
|
Registriert seit: Jan 2003
Ort: Bochum
Alter: 43
Beiträge: 75
|
|
AW: Variable per Link übergeben
Hi.
PHP-Code:
if (!isset($_GET['dl']) $file = ''; else $file = $_GET['dl'];
So sollte es gehen. Musst halt in Deinem Skript noch ergänzen was passiert wenn $dl leer ist.
Gruß,
Lars
__________________
"Schwester, was ist denn das für ein merkwürdiges Kabel?" - "Um Gottes Willen Herr Doktor, das ist die Arterie!"
Geändert von pennywise81 (29.04.2007 um 15:09:39 Uhr)
|
29.04.2007, 15:22:21
|
Anfänger
|
|
Registriert seit: Apr 2007
Beiträge: 14
|
|
AW: Variable per Link übergeben
Hallo Lars, wo muss ich deinen Code einfügen?
etwa so? Hier kommt folgender Fehler, wenn ich den Link angebe: http://www.domain.tld/dl.php?dl=datei.zip:
Parse error: syntax error, unexpected T_VARIABLE in /home/user/public_html/site/dl.php on line 3
PHP-Code:
<?php
if (!isset($_GET['dl']) $file = ''; else $file = $_GET['dl'];
// $file = "datei.zip"; DIESE ZEILE WIRD N I C H T MEHR BENUTZT !!! $speed = 6; // Downloadrate, hier 6 kb/s
if(file_exists($file) && is_file($file)) { // Prüfung auf Existenz der Datei header("Cache-control: private"); // Überlässt die Kontrolle der Dateiübertragung dem Script header("Content-Type: application/octet-stream"); // Setzt den Header zum Download header("Content-Length: ".filesize($file)); // Gibt die Dateigröße an header("Content-Disposition: filename=$file"); // Definiert, wo die Datei liegt.
flush(); // Leert den Zwischenspeicher
$fd = fopen($file, "r"); // Öffnet die Datei zum Lesen while(!feof($fd)) { echo fread($fd, round($speed*1024)); // Liest und sendet exakt soviel KB, wie angegeben flush(); // Leert wieder den Zwischenspeicher sleep(1); // Setzt das Script für 1 Sekunde aus } fclose ($fd); } ?>
Geändert von delogam (29.04.2007 um 15:37:46 Uhr)
|
29.04.2007, 15:40:53
|
|
Anfänger
|
|
Registriert seit: Jan 2003
Ort: Bochum
Alter: 43
Beiträge: 75
|
|
AW: Variable per Link übergeben
Jo, so is richtig. Hatte noch eine Klammer am Ende vergessen, so sollte es jetzt funzen:
PHP-Code:
<?php
if (!isset($_GET['dl'])) $file = ''; else $file = $_GET['dl'];
// $file = "datei.zip"; DIESE ZEILE WIRD N I C H T MEHR BENUTZT !!!
$speed = 6; // Downloadrate, hier 6 kb/s
if(file_exists($file) && is_file($file)) { // Prüfung auf Existenz der Datei
header("Cache-control: private"); // Überlässt die Kontrolle der Dateiübertragung dem Script
header("Content-Type: application/octet-stream"); // Setzt den Header zum Download
header("Content-Length: ".filesize($file)); // Gibt die Dateigröße an
header("Content-Disposition: filename=$file"); // Definiert, wo die Datei liegt.
flush(); // Leert den Zwischenspeicher
$fd = fopen($file, "r"); // Öffnet die Datei zum Lesen
while(!feof($fd)) {
echo fread($fd, round($speed*1024)); // Liest und sendet exakt soviel KB, wie angegeben
flush(); // Leert wieder den Zwischenspeicher
sleep(1); // Setzt das Script für 1 Sekunde aus
}
fclose ($fd);
}
?>
__________________
"Schwester, was ist denn das für ein merkwürdiges Kabel?" - "Um Gottes Willen Herr Doktor, das ist die Arterie!"
|
29.04.2007, 15:41:17
|
|
Member
|
|
Registriert seit: Jun 2006
Beiträge: 655
|
|
AW: Variable per Link übergeben
ja so wäre das richtig.
das is aber im prinzip total überflüssig, da 4 zeilen weiter unten überprüft wird, ob es die datei gibt!
ich würde es so schreiben (aber Lars variante geht auch!)
PHP-Code:
<?php
if (isset($_GET['dl'])) $file = $_GET['dl']; else die();
// $file = "datei.zip"; DIESE ZEILE WIRD N I C H T MEHR BENUTZT !!! $speed = 6; // Downloadrate, hier 6 kb/s
if(file_exists($file) && is_file($file)) { // Prüfung auf Existenz der Datei header("Cache-control: private"); // Überlässt die Kontrolle der Dateiübertragung dem Script header("Content-Type: application/octet-stream"); // Setzt den Header zum Download header("Content-Length: ".filesize($file)); // Gibt die Dateigröße an header("Content-Disposition: filename=$file"); // Definiert, wo die Datei liegt.
flush(); // Leert den Zwischenspeicher
$fd = fopen($file, "r"); // Öffnet die Datei zum Lesen while(!feof($fd)) { echo fread($fd, round($speed*1024)); // Liest und sendet exakt soviel KB, wie angegeben flush(); // Leert wieder den Zwischenspeicher sleep(1); // Setzt das Script für 1 Sekunde aus } fclose ($fd); } ?>
Geändert von rarios (29.04.2007 um 15:42:05 Uhr)
|
29.04.2007, 15:57:36
|
Anfänger
|
|
Registriert seit: Apr 2007
Beiträge: 14
|
|
AW: Variable per Link übergeben (Zip-Datei dynamisch erzeugen)
gelöst (doppelpost)
Geändert von delogam (30.04.2007 um 01:03:05 Uhr)
|
29.04.2007, 16:09:11
|
Anfänger
|
|
Registriert seit: Apr 2007
Beiträge: 14
|
|
AW: Variable per Link übergeben
gelöst
Geändert von delogam (30.04.2007 um 01:02:10 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:56:41 Uhr.
|