Herunterladen von Dateien mit PHP - Nur eine nach dem anderen herunterladen!
Frage
Ich habe eine PHP ! Irgendwelche Ideen?
Code herunterladen
header('Content-Type: application/octet-stream');
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.basename($filename).'"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($fullpath));
readfile($fullpath);
Beispiellinks
- Link 1: download.php? DownloadFile = 1
- Link 2: download.php? DownloadFile = 2
Lösung
Dafür könnte es unterschiedliche Gründe geben.
Sie verwenden Sitzungen. Daher darf nur ein Skript gleichzeitig die Sitzung ändern. Download B kann also erst nach dem Download A beginnen, hat fertig. Haben Sie zwei Downloads gleichzeitig mit Download A in Browser A und Download B in Browser B ausprobiert? Überprüfen Sie die Beschreibung für Session_write_close
Ein anderes HTTP -Problem, bei dem Ihr Browser nicht mehrere Verbindungen zum Server öffnet, sondern eine einzelne Verbindung wiederverwendet, und diese Art muss natürlich warten, bis die erste Anfrage beendet ist.
Einige OS/Webserver -Einstellungen, die nur eine sehr begrenzte Anzahl offener gleichzeitiger Verbindungen insgesamt oder pro Host ermöglichen