|
|
|
| Для закачивания файла из компьютера на сервер используется вот такая форма:
<!-- Тип кодирования данных, enctype, ДОЛЖЕН БЫТЬ указан ИМЕННО так upload-comm.php -->
<form enctype="multipart/form-data" action="upload-comm.php" method="POST">
<!-- Поле MAX_FILE_SIZE должно быть указано до поля загрузки файла -->
<input type="hidden" name="MAX_FILE_SIZE" value="75000000" />
<!-- Название элемента input определяет имя в массиве $_FILES -->
<div align="center">
<table border="0" width="900" id="table3" style="border-collapse: collapse">
<tr>
<td height="25"><p style="text-align: center"><input size="100" name="userfile" type="file" accept="text/xml" /></p></td>
</tr>
<tr>
<td height="25"><p style="text-align: center;margin: 5px 0 10px 0;"><input type="submit" value="Закачать файл" /></p></td>
</tr>
</table>
</form>
</div>
|
А в самом начале обработчика записана такая строка:
file_put_contents(date("Y-m-d_H_i_s") . ".txt", "");
|
Если файл небольшой, то закачка происходит успешно. Но если попытаться закачать файл, размер которого заведомо превышает возможности сервера (например, 70М при допустимом 50М), то в браузере с формой закачки после некоторого ожидания автоматически вызывается "Яндекс" (это для Мозиллы. Для Гугла дается сообщение о том, что страница перемещена или недоступна). И в обработчике контрольный файл не создается.
Задача состоит в том, чтобы каким-либо образом зафиксировать сам факт того, что в данный момент времени была попытка закачать файл (и не важно, что она не увенчалась успехом). И время начала закачки.
Эта задача имеет решение? | |
|
|
|
|
|
|
|
для: Владимир55
(11.05.2013 в 11:29)
| | А в логах сервера ничего интересного нет? Или до события нужно добраться средствами PHP? | |
|
|
|
|
|
|
|
для: cheops
(11.05.2013 в 13:01)
| | Да, хотелось бы добраться средствами РНР.
Дело не в том, чтобы разобраться в одном конкретном случае неудачной закачки, а чтобы иметь полное протоколирование действий администратора.
Я заношу в базу все этапы закачивания и обработки файлов commerce_ml - ошибки формата, логические ошибки и т.п. Но если файл просто "не пошел", то протоколировать нечего...
А хочется иметь сведения о том, что в данный момент была попытка закачки прайса. И если она не увенчалась успехом, то это будет видно. | |
|
|
|
|
|
|
|
для: Владимир55
(11.05.2013 в 13:18)
| | С PHP не знаю, но можно с помощью аякса отправлять на сервер сообщение при событии, происходящем в браузере при неудавшейся закачке. А на сервере обрабатывать это сообщение с помощью PHP. | |
|
|
|