1: <?php
2:
3: namespace Zippy\Html\Form;
4:
5: /**
6: * Компонент тэга &lt;input type=&quot;file&quot;&gt; для загрузки файла
7: */
8: class File extends HtmlFormDataElement
9: {
10: /**
11: * Конструктор
12: * @param mixed ID
13: */
14: public function __construct($id, $multy = false) {
15: parent::__construct($id);
16: $this->setAttribute("name", $this->id);
17: if ($multy) {
18: $this->setAttribute("name", $this->id . '[]');
19: $this->setAttribute("multiple", 'multiple');
20: }
21: }
22:
23: /**
24: * Возвращает массив с описанием загруженного файла - элемент массива $_FILES
25: */
26: public function getFile() {
27: return $this->getValue();
28: }
29:
30: /**
31: * @see SubmitDataRequest
32: */
33: public function getRequestData() {
34: if(!isset($_FILES[$this->id])) {
35: return;
36: }
37:
38: $this->setValue($_FILES[$this->id]);
39: }
40:
41: /*
42: public function setFile($path) {
43:
44: $files = array();
45: if(!file_exists($path)) return;
46: $p = pathinfo($path);
47: $files['name'] = $p['basename'];
48: $files['size'] = filesize($path);
49: $tmp = tempnam(sys_get_temp_dir(),'tst');
50: $files['tmp_name'] = $tmp;
51: copy($path,$tmp);
52: $this->setValue($files);
53: } */
54:
55:
56: public function clean() {
57:
58: }
59: }
60: