Ik heb de volgende functie waarmee ik bestanden via een HTTP_Upload gecomprimeerd opsla:
Nu moet het de bedoeling zijn deze bestanden weer later ongecomprimeerd te kunnen downloaden, en dus:
Het probleem zit hem in het feit dat ik ook de filesize aan de headers wil toevoegen.
Maar hoe weet ik nu de filesize van het ongecomprimeerd bestand van te voren?
Ik zat er zelf aan te denken om een veldje in de database bij te maken en ten tijde van de upload de filesize van het ongecomprimeerd bestand erin te zetten, maar is er een betere manier??
PHP:
1
2
3
4
5
6
7
8
9
10
| function Compress($srcFileName, $dstFileName) { // getting file content $fp = fopen( $srcFileName, "rb" ); $data = fread ( $fp, filesize( $srcFileName ) ); fclose( $fp ); // writing compressed file $zp = gzopen( $dstFileName, "wb9" ); gzwrite( $zp, $data ); gzclose( $zp ); } |
Nu moet het de bedoeling zijn deze bestanden weer later ongecomprimeerd te kunnen downloaden, en dus:
PHP:
1
2
3
4
5
6
7
| if (isset($_GET['backupfile']) && ctype_digit($_GET['backupfile']) && (strlen($_GET['backupfile']) == 8)) { header("Content-Type: application/force-download"); //header("Content-Length: ".filesize($path_to_backups . $_GET['backupfile'] . ".gz")); header("Content-Disposition: attachment; filename=" . $_GET['backupfile'] . ".cdb"); readgzfile($path_to_backups . $_GET['backupfile'] . ".gz"); exit(); } |
Het probleem zit hem in het feit dat ik ook de filesize aan de headers wil toevoegen.
Maar hoe weet ik nu de filesize van het ongecomprimeerd bestand van te voren?
Ik zat er zelf aan te denken om een veldje in de database bij te maken en ten tijde van de upload de filesize van het ongecomprimeerd bestand erin te zetten, maar is er een betere manier??