Проверка file со стороны сервера перед отправкой письма

Добрый день, не могу ни как разобраться почему у меня не до конца срабатывает условие. Вроде как делаю все по документации formit
создал валидатор «checkfile»
<?php
$output = true;
$maxFileSize = 50 * 1024 * 1024;
$fileName = $_FILES[$key]['name'];
$fileSize = $_FILES[$key]['size'];

if ($fileName != '') {
  if($fileSize > $maxFileSize) {
    $validator->addError($key,'Размер файла превышает 50 Мб.');
    $output = false;
  }
}
return $output;
вызываю форму
[[!AjaxForm?
                &snippet=`FormIt`
                &form=`tpl.AjaxForm.example`
                &hooks=`email`
                &customValidators=`checkfile`
                &emailSubject=`Сообщение с сайта [[++site_name]]`
                &emailTo=`[[++emailsender]]`
                &validate=`name:required,email:required,phone:required,files:checkfile`
                &validationErrorMessage=`В форме содержатся ошибки!`
                &successMessage=`Сообщение успешно отправлено`
            ]]
и вот чанк самой формы
<form action="" class="ajax_form af_example" enctype="multipart/form-data">
	<div class="left">
	    <div class="group">
    		<input type="text" name="name" value="[[+fi.name]]" placeholder="Имя">
    		<span class="error_name">[[+fi.error.name]]</span>
		</div>
		<div class="group">
    		<input type="phone" name="phone" value="[[+fi.phone]]" placeholder="Телефон">
    		<span class="error_name">[[+fi.error.phone]]</span>
		</div>
		<div class="group">
    		<input type="email" name="email" value="[[+fi.email]]" placeholder="Электронная почта">
    		<span class="error_name">[[+fi.error.email]]</span>
    	</div>
		<input type="file" id="file" name="files" value="[[+fi.files]]">
		<label for="file" class="file">
			<p>Прикрепить файл</p>
			<p>не более 50 мб</p>
		</label>
		<p class="error_files">[[+fi.error.files]]</p>
	</div>
	<div class="right">
		<textarea name="text" placeholder="Сообщение"></textarea>
		<div class="range-slide">
			<p class="title">Ваш бюджет</p>
			<div id="slider" data-min="35000" data-max="400000"></div>
            <div class="numbers">
                <span id="input-with-keypress-2"></span>
                <p>–</p>
                <span id="input-with-keypress-3"></span>
                <input type="text" id="input-with-keypress-0" name="price_from" value="1000000">
                <input type="text" id="input-with-keypress-1" name="price_to">
            </div>
        </div>
		<button type="submit">Отправить</button>
		<p>Нажимая на кнопку «Связаться», я даю согласие на обработку персональных данных, как описано в «<a href="#">Соглашении об использовании сайта</a>»</p>
	</div>
	    [[+fi.success:is=`1`:then=`
    <div class="alert alert-success">[[+fi.successMessage]]</div>
    `]]
    [[+fi.validation_error:is=`1`:then=`
    <div class="alert alert-danger">[[+fi.validation_error_message]]</div>
    `]]
</form>
при отправки формы с файлом превышающим 50мб поля становиться не активными и больше ни чего не происходит, сообщение об ошибке не выскакивает. Подскажите пожалуйста что я сделал не так)
Александр
20 мая 2019, 10:38
modx.pro
129
0

Комментарии: 1

Александр
20 мая 2019, 11:15
0
Кажется я понял, это сильно большой файл, а что бы его проверить сервер его сначала скачивает и по этому предупреждение срабатывает через большой промежуток времени. Если это действительно так, возможно ли как то это ускорить?
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1