Szukałem w googlach przykładowego kodu do obsługi plików w PHP, ale znalazłem jedynie klasy do obsługi uploadu.

Jestem na etapie projektowania klas do obsługi działu Pobierania. Zarys klas:
  1. <?php
  2.  
  3. class download
  4. {
  5. /*
  6.  * Wielkość pobieranego pliku
  7.  */
  8. private $filesize = false;
  9.  
  10. /*
  11.  * Nazwa pliku na serwerze
  12.  */
  13. private $phisycal_filename;
  14.  
  15. /*
  16.  * Oryginalna nazwa pliku
  17.  */
  18. private $real_filename;
  19.  
  20. /*
  21.  * Typ mime
  22.  */
  23. private $mimetype;
  24.  
  25. /*
  26.  * Adres URL do alternatywnego pobierania
  27.  */
  28. private $alternative_download;
  29.  
  30. /*
  31.  * ID pobieranego pliku
  32.  */
  33. private $file_id = false;
  34.  
  35. /*
  36.  * Zczytuje dane o pliku z bazy
  37.  */
  38. private function load() {}
  39.  
  40. /*
  41.  * Wysyła plik do przeglądarki
  42.  */
  43. public function stream() {}
  44. }
  45.  
  46. class upload
  47. {
  48. /*
  49.  * Rozszerzenie pliku
  50.  */
  51. private $extension;
  52.  
  53. /*
  54.  * Dozwolone rozszerzenia wgrywanych plików
  55.  */
  56. private $allowed_extension = array('zip', 'rar', 'tgz');
  57.  
  58. /*
  59.  * Max. wielkość wgrywanego pliku
  60.  */
  61. private $max_file_size = 4194304;
  62.  
  63. /*
  64.  * Dane z formularza o pliku
  65.  */
  66. private $data = array();
  67.  
  68. /*
  69.  * Czy plik został naprawdę wysłany
  70.  */
  71. private $is_file = false;
  72.  
  73. /*
  74.  * Nazwa TMP pliku
  75.  */
  76. private $tmp_name;
  77.  
  78. /*
  79.  * Pobiera rozszerzenie pliku
  80.  */
  81. private function get_extentsion() {}
  82.  
  83. /*
  84.  * Waliduje rozszerzenie i wielkość pliku
  85.  */
  86. private function validate() {}
  87.  
  88. /*
  89.  * Przenosi plik na serwer
  90.  */
  91. public function move() {}
  92. }
  93.  
  94. class file
  95. {
  96. /*
  97.  * ID pliku
  98.  */
  99. private $file_id = false;
  100.  
  101. /*
  102.  * Nazwa pliku na serwerze
  103.  */
  104. private $phisycal_filename;
  105.  
  106. /*
  107.  * Pobiera dane o pliku z bazy
  108.  */
  109. public function load() {}
  110.  
  111. /*
  112.  * Tworzy wpis nowego pliku w bazie
  113.  */
  114. private function create() {}
  115.  
  116. /*
  117.  * Aktualizuje dane pliku w bazie
  118.  */
  119. private function update() {}
  120.  
  121. /*
  122.  * Usuwa plik z serwera i z bazy
  123.  */
  124. public function delete() {}
  125.  
  126. /*
  127.  * Wyświetla dane pliku
  128.  */
  129. public function display() {}
  130. }
  131.  
  132. ?>


Proszę o uwagi i sugestie!