PHP-Script für Downloadzeit
Verfasst: 13.06.2004 16:50
Hallo phpBB-Freunde,
da mein alter Thread leider gesperrt/gelöscht wurde, hier nochmal alles ausführlich.
Ich habe mir ein PHP-Script gebastelt, das ich auf meiner Homepage verwenden möchte, um die Zeiten für meine angebotenen Downloads automatisch zu ermitteln. Dazu habe ich bisher folgenden Code zusammengestellt:
Leider habe ich ein Problem mit der Variable "speed". Ich hoffe, ihr könnt mir helfen, denn ich bin noch Anfänger in Sachen PHP.
Hinweise: Die im Browser angezeigte URL hat am Ende immer das hier stehen:
Es wäre sehr freundlich, wenn ihr mir helfen würdet.
Danke!
edit:
Eine Testseite habe ich hier eingerichtet.
da mein alter Thread leider gesperrt/gelöscht wurde, hier nochmal alles ausführlich.
Ich habe mir ein PHP-Script gebastelt, das ich auf meiner Homepage verwenden möchte, um die Zeiten für meine angebotenen Downloads automatisch zu ermitteln. Dazu habe ich bisher folgenden Code zusammengestellt:
Code: Alles auswählen
<html>
<head>
</head>
<body>
<?php
if ($submit)
{
$filesize = filesize($file);
$time = ($filesize / 1024) / ($speed / 8);
$time = round($time, 0);
$hours = $time / 3600;
$hours = floor($hours);
if($hours < 10) {
$hours = '0' + $hours;
}
if($hours >= 1) {
$new_time = $hours;
$secs_left = $time % 3600;
if($secs_left > 60) {
$mins = $secs_left / 60;
$mins = floor($mins);
if($mins < 10) {
$mins = '0' + $mins;
}
$new_time = $new_time + ':' + $mins;
$secs = $secs_left % 60;
if($secs < 10) {
$secs = '0' + $secs;
}
if($secs == '00') {
$secs = '01';
}
$new_time = $new_time + ':' + $secs;
}
else {
$mins = 0;
if($mins < 10) {
$mins = '0' + mins;
}
$new_time = new_time + ':' + mins;
$secs = secs_left;
if($secs < 10) {
$secs = '0' + secs;
}
if(secs == '00') {
$secs = '01';
}
$new_time = $new_time + ':' + $secs;
}
}
else {
$mins = $time / 60;
$mins = floor($mins);
if($mins < 10) {
$mins = '0' + $mins;
}
if($mins >= 1) {
$new_time = '00:' + $mins;
$secs = $time % 60;
if($secs < 10) {
$secs = '0' + secs;
}
if($secs == '00') {
$secs = '01';
}
$new_time = $new_time + ':' + $secs;
}
else {
$secs = $time % 60;
if($secs < 10) {
$secs = '0' + secs;
}
if($secs == '00') {
$secs = '01';
}
$new_time = '00:00:' + $secs;
}
}
$dl_time = "Der Download dauert ca. $hours Stunden, $mins Minuten und $secs Sekunden.";
echo $dl_time;
}
?>
<form>
<select name="speed" id="speed">
<option>Bitte eine Geschwindigkeit wählen
<option>---------------------------------------------------
<option value="28.8">28.8 KB/s
<option value="56">56 KB/s
<option value="128">ISDN (128 KB/s)
<option value="1024">DSL1000 (1024 KB/s)
<option value="2048">DSL2000 (2048 KB/s)
<option value="3072">DSL3000 (3072 KB/s)
</select>
<input type="submit" onSubmit="alert('<?php echo $dl_time; ?>')" value="Downloadzeit">
</form>
</body>
</html>
Hinweise: Die im Browser angezeigte URL hat am Ende immer das hier stehen:
Somit wird die Variable "file" definiert. Die Variable "speed" soll mit Hilfe des Pulldown-Menüs ermittelt werden. Klickt man danach auf den Button "Downloadzeit", wird die entsprechende Dauer für den Download in einem "alert"-Fenster angezeigt. Nur leider funktioniert das alles nicht..php?file=datei.zip
Es wäre sehr freundlich, wenn ihr mir helfen würdet.

edit:
Eine Testseite habe ich hier eingerichtet.