Hallo!
Ich bin gerade dabei eine Downloadseite mit PHP zu erstellen.
Hier mal der Code:
PHP-Code:
<?php
if (!$_POST) {
$verzeichnis = openDir("./");
$speed = 1000; // kb/s download rate limit
while ($file = readDir($verzeichnis)) {
if ($file != "safety.php" && $file != ".." && $file != "index.php" && $file != ".") {
$Größe = round(filesize($file)/1000000,1);
echo ("<h1>Download der Datei $file</h1>");
echo ("Größe: $Größe MB ");
}
}
}
if ($_POST) {
$verzeichnis = openDir("./");
$speed = 1000; // kb/s download rate limit
while ($file = readDir($verzeichnis)) {
if ($file != "safety.php" && $file != ".." && $file != "index.php" && $file != ".") {
header("Cache-control: private");
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($file));
header("Content-Disposition: filename=$file" . "");
flush();
$fd = fopen($file, "r");
while(!feof($fd)) {
echo fread($fd, round($speed*1024));
flush();
sleep(1);
}
fclose ($fd);
}
}
closeDir($verzeichnis);
}
?>
<form method="post" form name="dllink">
<input type="submit" name="dlbutton" value="Download" onClick="location.href="___DOWNLOADLINK___"">
</form>
<script type="text/javascript">
<!--
var secs = 3; // Wartezeit in Sekunden
var wait = secs * 1000;
document.dllink.dlbutton.disabled=true;
for(i=1;i<=secs;i++)
{
window.setTimeout("update(" + i + ")", i * 1000);
}
window.setTimeout("timer()", wait);
function update(num)
{
if(num == (wait/1000))
{
document.dllink.dlbutton.value = "Download";
}
else
{
printnr = (wait/1000)-num;
document.dllink.dlbutton.value = "Download (" + printnr + ")";
}
}
function timer()
{
document.dllink.dlbutton.disabled=false;
}
//-->
</script>
Das ganze funktioniert ja auch nur sind die heruntergeladenen Dateien unbrauchbar.
z.b. wenn ich eine leere Textdatei herunterladen möchte, steht danach folgendes darin:
Code:
<form method="post" form name="dllink">
<input type="submit" name="dlbutton" value="Download" onClick="location.href="___DOWNLOADLINK___"">
</form>
<script type="text/javascript">
<!--
var secs = 3; // Wartezeit in Sekunden
var wait = secs * 1000;
document.dllink.dlbutton.disabled=true;
for(i=1;i<=secs;i++)
{
window.setTimeout("update(" + i + ")", i * 1000);
}
window.setTimeout("timer()", wait);
function update(num)
{
if(num == (wait/1000))
{
document.dllink.dlbutton.value = "Download";
}
else
{
printnr = (wait/1000)-num;
document.dllink.dlbutton.value = "Download (" + printnr + ")";
}
}
function timer()
{
document.dllink.dlbutton.disabled=false;
}
//-->
</script>
Wie kann Ich diesen Fehler beheben ??
Danke schonmal
Flllo