DL Mod: Max execution time of 120 sec exceeded

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

DL Mod: Max execution time of 120 sec exceeded

Beitrag von Dungeonwatcher »

Hi! Meister! :cool:

Ich hatte ja bereits mehrmals mit diesem Thema genervt. Durch Zufall bin ich gestern endlich auf die Lösung dieses Problems gestoßen.

Den Block:

Code: Alles auswählen

// Added by suggestion from Neverbirth. Thx to him!!!
   function readfile_chunked($filename, $retbytes = true)
   {
      $chunksize = 1048576;
      $buffer = '';
      $cnt =0;
      $handle = fopen($filename, 'rb');

      if ($handle === false)
      {
         return false;
      }

      while (!feof($handle))
      {
         $buffer = fread($handle, $chunksize);
         echo $buffer;
         if ($retbytes)
         {
            $cnt += strlen($buffer);
         }
      }

      $status = fclose($handle);
in der ...\dl_mod\classes\class_dlmod.php habe ich um diese zwei Zeilen ergänzt:

Code: Alles auswählen

			ob_flush();
			flush();
Nun sieht das ganze so aus:

Code: Alles auswählen

	// Added by suggestion from Neverbirth. Thx to him!!!
	function readfile_chunked($filename, $retbytes = true)
	{
		$chunksize = 1048576;
		$buffer = '';
		$cnt = 0;
		$handle = fopen($filename, 'rb');
		$buffer = '';

		if ($handle === false)
		{
			return false;
		}

		while (!feof($handle))
		{
			$buffer = fread($handle, $chunksize);
			echo $buffer;
			if ($retbytes)
			{
				$cnt += strlen($buffer);
			}
			ob_flush();
			flush();
		}

		$status = fclose($handle);
Diverse Test durch meine User mit bisher fehlgeschlagenen DLs egal welcher Dateigröße verliefen alle erfolgreich. :)

Bye
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: DL Mod: Max execution time of 120 sec exceeded

Beitrag von oxpus »

Danke für den Hinweis.
Ich werde dieses dann auch sogleich in der 6er Version der MOD integrieren, damit auch andere User hier weniger Probs haben.

Und dabei hatte ich diese Variante auch schon mal probiert und kam überhaupt nicht damit zurecht... :wall:
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re: DL Mod: Max execution time of 120 sec exceeded

Beitrag von Dungeonwatcher »

Moin! :cool:

Freut mich auch mal was nützliches zustande gebracht zu haben und nicht immer nur zu "betteln". ;)

Die Lösung stammt übrigens von dieser Seite.

Bye :anbet
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: DL Mod: Max execution time of 120 sec exceeded

Beitrag von oxpus »

Wie gesagt: Von php.net hatte ich auch meine Erweiterung für die Chunked Downloads.
Nur war dieses mit dem Leeren des Ausgabepuffers bislang nicht fehlerfrei möglich. Da du dieses allerdings nun erfolgreich getestet habe, nehme ich es in die nächste Version auf.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten