Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как зафиксировать событие, которого не было
 
 автор: Владимир55   (11.05.2013 в 11:29)   письмо автору
 
 

Для закачивания файла из компьютера на сервер используется вот такая форма:

    <!-- Тип кодирования данных, 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М), то в браузере с формой закачки после некоторого ожидания автоматически вызывается "Яндекс" (это для Мозиллы. Для Гугла дается сообщение о том, что страница перемещена или недоступна). И в обработчике контрольный файл не создается.

Задача состоит в том, чтобы каким-либо образом зафиксировать сам факт того, что в данный момент времени была попытка закачать файл (и не важно, что она не увенчалась успехом). И время начала закачки.

Эта задача имеет решение?

  Ответить  
 
 автор: cheops   (11.05.2013 в 13:01)   письмо автору
 
   для: Владимир55   (11.05.2013 в 11:29)
 

А в логах сервера ничего интересного нет? Или до события нужно добраться средствами PHP?

  Ответить  
 
 автор: Владимир55   (11.05.2013 в 13:18)   письмо автору
 
   для: cheops   (11.05.2013 в 13:01)
 

Да, хотелось бы добраться средствами РНР.

Дело не в том, чтобы разобраться в одном конкретном случае неудачной закачки, а чтобы иметь полное протоколирование действий администратора.

Я заношу в базу все этапы закачивания и обработки файлов commerce_ml - ошибки формата, логические ошибки и т.п. Но если файл просто "не пошел", то протоколировать нечего...

А хочется иметь сведения о том, что в данный момент была попытка закачки прайса. И если она не увенчалась успехом, то это будет видно.

  Ответить  
 
 автор: coloboc66   (17.06.2013 в 11:36)   письмо автору
 
   для: Владимир55   (11.05.2013 в 13:18)
 

С PHP не знаю, но можно с помощью аякса отправлять на сервер сообщение при событии, происходящем в браузере при неудавшейся закачке. А на сервере обрабатывать это сообщение с помощью PHP.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования