Давно уже использую PEAR для разработки PHP приложений, а в последнее время вплотную подружился с пакетом QuickForm. Вчера возникла задача подгрузки файла через форму. Вот так она решается в QuickForm:
// Подгружаем PEAR класс QuickForm
require_once 'HTML/QuickForm.php';
$form = new HTML_QuickForm('upload_form');
// Создание элемента формы типа file
$form->addElement('file','uploaded_file','Файл:');
// Установка максимального размера загружаемого файла
$max_size = 100000;
// Проверка поля на подключение файла
$form->addRule('uploaded_file','Внимание! Необходимо указать файл для загрузки','uploaded_file');
// Проверка файла на дапустимый размер
$form->addRule('uploaded_file','Слишком большой размер файла','maxfilesize',$max_size);
$form->addElement('submit','save','Загрузить');
// Отображение формы
if ($form->validate()) {
$form->process('move_file');
} else {
$form->display();
}
function move_file($data) {
global $form;
$file =& $form->getElement('uploaded_file');
// Переместить загруженный файл на ПМЖ
if ($file->moveUploadedFile('/files/')) {
echo 'Файл успешно загружен!';
} else {
echo 'Ошибка загрузки файла';
}
}
Естественно, что для того, чтобы код выполнялся без ошибки необходимо инсталлировать пакет QuickForm на сервер.
Удачи!!!