 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
02.03.2005, 09:59
|
#1
|
|
TP-Member
Registriert seit: Nov 2004
|
zeitbegrenzung php skript?
Hallo,
habe einen download auf meiner site. habe diesen in das php skript eingebunden das hier angeboten wird. jetzt kann man aber nur einen teil der datei runterladen man bekommt dann die meldung download abgeschlossen obwohl man nur einen teil der datei hat..
hab bei strato angerufen der meinte das das php skrip nur 30 sek läuft und dann abgebrochen wird (standart bei strato)
er hat sich aber nicht so angehört als wäre er sich seiner sache sicher...
Geändert von mofa (02.03.2005 um 10:03 Uhr).
|
|
|
02.03.2005, 11:14
|
#2
|
|
TP-Specialist
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
|
Das stimmt schon mit dem Zeitlimit
weil Du sonst die Kiste zu machst,
wenn Du einen Loop programmierst.
und oft ist das Limit auf 30'' gesetzt.
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]
use my HTML-Tester
Motto'06: Mut zur deutschen Sprache!
|
|
|
02.03.2005, 11:24
|
#3
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Du kannst das umgehen, in dem Du den Download direkt in den Stream schreibst und alle 20 sek einen header ausgibts, z.B. header('X-Ping: Pong');
|
|
|
02.03.2005, 11:27
|
#4
|
|
TP-Member
Registriert seit: Nov 2004
|
stream
wo genau muß ich was reinschreiben, bin nicht so der php kenner...
|
|
|
02.03.2005, 11:44
|
#5
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
>>ungeprüft<<
Code:
<?php
header('Content-Type: x-type/subtype');
header('Content-Disposition: attachment; filename="' . $filename . '"');
header("Content-Length: ".filesize($filename));
$time_start = time();
$fp=fopen($filename,'rb');
while (!feof($fp)) {
echo fread($fp,1024);
$time_now = time();
if ($time_start >= $time_now + 20) {
$time_start = $time_now;
header('X-Ping: Pong');
endif
}
?>
|
|
|
02.03.2005, 11:58
|
#6
|
|
TP-Member
Registriert seit: Nov 2004
|
fehler
bekomm jetzt diesen fehler
Parse error: parse error, unexpected $ in /mnt/kw1/04/277/00000005/htdocs/downskript/download.php on line 27
so sieht der code aus
<?
$files = Array("1" => "tp05.mpg",
"2" => "test.doc",
"3" => "test.xls",
"4" => "test.pdf",
"5" => "test.gif");
$filename = "docs/".$files[$_GET[what]];
header("Content-Type: x-type/subtype");
header("Content-Length: ".filesize($filename));
header("Content-Disposition: attachment; filename=".$files[$_GET[what]]);
readfile($filename);
$time_start = time();
$fp=fopen($filename,'rb');
while (!feof($fp)) {
echo fread($fp,1024);
$time_now = time();
if ($time_start >= $time_now + 20) {
$time_start = $time_now;
header('X-MSDPing: Pong');
endif
}
?>
|
|
|
02.03.2005, 12:05
|
#7
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Ende:
if ($time_start >= $time_now + 20) {
$time_start = $time_now;
header('X-Ping: Pong');
}
}
?>
|
|
|
02.03.2005, 12:16
|
#8
|
|
TP-Member
Registriert seit: Nov 2004
|
bricht ab
Fehlermeldung ist weg aber der download bricht immer noch ab...
|
|
|
02.03.2005, 12:24
|
#9
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
dann funktioniert der Trick bei Dir nicht.
Dann musst Du die Datei halt als Link zur Verfügung stellen.
|
|
|
02.03.2005, 12:25
|
#10
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Naja, ist ja auch logisch. PHP arbeitet Zeile für Zeile ab, und da er erst die Datei abarbeitet, kommt er zu diesem "Pong" erst garnicht und bricht wieder ab.
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
02.03.2005, 12:45
|
#11
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
nene, Boris. Er liest immer 1024 Bytes, schreibt die in den Stream und überprüft dann die Zeit, alles innerhalb der Schleife.
|
|
|
02.03.2005, 14:24
|
#12
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Was ist "X-Ping" denn für ein Header? Ich kann da auf die Schnelle nix drüber finden. Und: Wie soll ein verschickter Header Einfluss auf die Scriptlaufzeit haben? Evtl. kann man mit soetwas den Timeout des Browsers unterbrechen - aber beim Script sehe ich da schwarz.
@mofa: Probier mal einfach am Beginn des Scripts folgendes zu setzten:
PHP-Code:
set_time_limit(0);
...vielleicht klappt das ja
Gruss
Jan
|
|
|
02.03.2005, 15:05
|
#13
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
X-Ping ist ein einfacher Ping und stammt aus der Netzwerktechnik.
Zitat:
x Ping -
wird verwendet um neue aktive Peers kennen zu lernen. Eine solcheNachricht kann zu einem beliebigen Zeitpunkt an andere Peers versendetwerden. Es ist auch nicht vorgegeben wie häufig Nachrichten dieses Typsverschickt werden sollen.
x Pong -
Anwort auf eine Ping-Nachricht die als Payload Informationen übereinen aktiven Knoten enthält
• IP-Adresse und Port des antwortenden Rechners
• Anzahl der bereitgestellten Dateien
• Größe der bereitgestellten Daten
|
Der Server verabeitet das als Header, ignoriert aber die Anweisung.
Sinn und Zweck ist es, das das Script den Anfang simuliert und der Timeout zurückgesetzt wird.
Bekanntes Beispiel findet man im phpMyAdmin.
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 06:42 Uhr.
|
 |