
The HTML uses Bootstrap 4.5.2 and font-awesome 5.13. The server is running php7.4 on Ubuntu 20, don't forget to install your php's version of zip, mine being php7.4-zip. Having similar issues to the OP, the following code was created after reading many similar posts. I have a client "download-all" button for files stored in a parallel directory on a webserver. Header("Content-Disposition: attachment filename=\"".basename($file)."\"") Header("Content-Length: ".filesize($file)) Header("Content-Transfer-Encoding: Binary") Anyway, that alone was not the answer - you need to use those three lines above ob_start() too.

None of the people answered earlier talked about the ob_start() and where exactly you should put it. Finally, after trial and error, I found that the following code works:

Apparently, none of the solutions mentioned in stack overflow (around a variety of questions on zip file download) worked. 12:21:24.999 T:26213 INFO : CPythonInvoker(21, /storage/emulated/0/Android/data//files/.kodi/addons//seren.py): script successfully run 12:21:25.769 T:26422 INFO : Opening stream: 0 source: 256 12:21:25.770 T:26422 INFO : Creating video codec with codec id: 27 12:21:25.775 T:26422 INFO : CBitstreamConverter::Open Invalid avcC 12:21:25.781 T:26422 INFO : CDVDVideoCodecAndroidMediaCodec::Open Testing codec: 12:21:25.787 T:26422 INFO : CDVDVideoCodecAndroidMediaCodec::Open Testing codec: 12:21:25.788 T:26422 INFO : CDVDVideoCodecAndroidMediaCodec::Open Testing codec.I had spent more than 6 hours on this downloading zip files on my mac (localhost) - Though the file was getting downloaded, I could not unzip them (getting cpgz files). 12:21:23.786 T:26125 INFO : Loading skin file: DialogAddonInfo.xml, load type: KEEP_IN_MEMORY 12:21:24.505 T:26492 ERROR : CCurlFile::Open failed with code 404 for : No active player found 12:21:23.759 T:26492 ERROR : CCurlFile::Open failed with code 404 for : Select the fusionco ( or fusion) server folder. Press the Install from zip file function once again. Press the Back button to return to the previous menu. Never again will you have to actually pick what you want to watch. Press the Yes button when prompted to allow unknown sources. What is it Its channel-surfing for your media center. 12:21:22.391 T:26459 WARNING : Repository add-on natixz uses plain HTTP for add-on downloads in path - this is insecure and will make your Kodi installation vulnerable to attacks if enabled! 12:21:23.371 T:26221 WARNING : [33mWARN main ▶ Notification [0mOnPlay. PseudoTV for Kodi View branch download information.

Here's the relevant portion of the log (last part) - some log entries from seren/elementum that probably can be ignored, does this tell you anything?
