Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

Download.php 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace SCF\Additionals;
  3. class Download
  4. {
  5. /**
  6. * @var string
  7. */
  8. private $absolutePath;
  9. /**
  10. * @var string
  11. */
  12. private $fileName;
  13. public function __construct()
  14. {
  15. }
  16. /**
  17. * @param string $fileName
  18. */
  19. public function setFileName($fileName)
  20. {
  21. $this->fileName = $fileName;
  22. }
  23. /**
  24. * @return string
  25. */
  26. public function getFileName()
  27. {
  28. return $this->fileName;
  29. }
  30. /**
  31. * @return string
  32. */
  33. public function getAbsolutePath()
  34. {
  35. return $this->absolutePath;
  36. }
  37. /**
  38. * @param string $absolutePath
  39. */
  40. public function setAbsolutePath($absolutePath)
  41. {
  42. $this->absolutePath = $absolutePath;
  43. }
  44. public function startDownloadFile()
  45. {
  46. $tmpPath = $this->getAbsolutePath();
  47. $tmpFile = $this->getFileName();
  48. $fh = fopen($tmpPath . $tmpFile, "r");
  49. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  50. header('Content-Description: File Transfer');
  51. header('Content-Type: application/octed-stream');
  52. header('Content-Length: ' . @filesize($tmpPath . $tmpFile));
  53. header("Content-Disposition: attachment; filename=" . $tmpFile);
  54. header("Content-Transfer-Encoding: binary");
  55. while (true) {
  56. echo fgets($fh, 4096);
  57. if (feof($fh)) break;
  58. if (connection_status() != 0) break;
  59. }
  60. fclose($fh);
  61. }
  62. //TODO: Finishing Download Class to generate correct Downloads for Page!
  63. }