Валидация аттача в оформлении заказа

  • 0 Ответов
  • 191 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн sashgera

Здравствуйте
В оформлении заказа сделал поле для прикрепления файла

components/com_virtuemart/themes/default/templates/checkout/get_final_confirmation.tpl.php
добавил:
Код: (html4strict) [Выделить]
<input type="file" name="attach-order[]" class="attachorder" title="" alt="">
administrator/components/com_virtuemart/html/checkout.index.php
в названии формы добавил:
Код: (html4strict) [Выделить]
enctype="multipart/form-data"
administrator/components/com_virtuemart/classes/ps_main.php
после стр. 499:
$mail->Mailer    = $mosConfig_mailer;
добавил:
Код: (php) [Выделить]
for($i=0;$i<count($_FILES['attach-order']['name']);$i++) {
if ($_FILES['attach-order']) {
$mail->AddAttachment($_FILES['attach-order']['tmp_name'][$i], $_FILES['attach-order']['name'][$i]);
$filesize += $_FILES['attach-order']['size'][$i]; //размер всех файлов
}
}
$max_filesize = 1 * 1024 * 1024; //максимальный размер всех файлов
if ($filesize > $max_filesize) { //проверка на максимальный размер всех файлов
echo '<span class="shop_error">file < 1mb</span>';
return false;
}
Письма с уведомлением о заказе и вложенными файлами приходят

Подскажите, как правильно сделать ограничение размера аттача на PHP?
На данный момент, я сделал проверку на максимальный размер аттача, но после проверки, если размер превышен, то выполняется переход на другую пустую страницу и на ней выводится ехо с ошибкой. Как после проверки остаться на странице где находится форма?