проверьте, завершается ли загрузка

Я думаю, что это будет главным образом культурный шок. Вещи в различных местах. Функции назвали разные вещи.

, Если Вы действительно хотите дать Netbeans силу попытки сами для использования его в течение месяца. Это высосет в течение первого дня или поэтому поскольку ни один из ярлыков не будет тем же, различные идиомы будут отличаться и т.д.

В конце месяца, Вы будете достаточно компетентны в нем, что эти вещи должны были уйти, и можно объективно решить, нравится ли Вам он больше. (Я в настоящее время пробую это IntelliJ btw. Текущее состояние, перепутанное;-)

8
задан reformed 6 April 2018 в 15:59
поделиться

3 ответа

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

На самом деле, с PHP (который является язык на стороне сервера, а не на стороне клиента), чтобы точно определить, когда загрузка файла завершена. Лучшее, что вы можете сделать, - это зарегистрировать загрузку в своей базе данных, когда она начнется. Если вам абсолютно, полностью и полностью необходимо знать, когда загрузка завершена, вы Придется сделать что-то вроде встраивания Java-апплета или использования Flash. Однако обычно это неправильный ответ с точки зрения удобства использования для вашего пользователя (зачем требовать от них установки Java или Flash только для того, чтобы что-то загрузить от вас?).

9
ответ дан 5 December 2019 в 20:17
поделиться

Как уже указывал Марк У., php может сказать вам только то, что вы отправили с сервера, а не то, что получил клиент, поэтому использование только php не является стартовым.

Но всегда есть возможность попросить пользователя подтвердить загрузку, нажав кнопку, которая вызывает проверку JS, генерируя хэш MD5 и сравнивая его с хешем MD5 файла на вашем сервере (MD5 на сервере генерируется вами), и при успешном сравнении используйте этот JS-скрипт для обновления вашей базы данных или используйте его для вызова php-скрипта, чтобы сделать то же самое.

Вы всегда можете просто попросить их проверить, что загрузка - это то, что они ожидали и, если они нажмут «да, все в порядке», обновите базу данных.


Отредактировано: в ответ на комментарий OP.
Спасибо, но вы не можете рассчитывать на сотрудничество пользователей. Поскольку они также должны платить за загрузку, лучше, чтобы у меня был весь контроль. Я думаю, что затем обновлю базу данных, когда скрипт будет доступен. Тогда это кажется наиболее надежным.

Как насчет использования элемента управления Ajax для инициирования и поддержки загрузки, а по завершении проверки его целостности и запуска обновления вашей базы данных?

Я бы посоветовал не делать этого. автоматически предполагая, что ваши клиенты собираются ограбить вас, что бы вы в конечном итоге ни выбрали. Спросите их вежливо: «Это сработало для вас?» а если нет, то создание отчета об ошибке может быть полезно для вас и для них.

Но, несмотря на это, хотя некоторые из ваших пользователей могут сказать «нет» просто для дополнительной копии вы должны уравновесить ее стоимость со стоимостью вашей возросшей рабочей нагрузки, чтобы этого не произошло. Если стоимость поддержания «честности» превышает потенциальную / вероятную стоимость взятия дополнительной копии, то в этом нет особого смысла.

2
ответ дан 5 December 2019 в 20:17
поделиться

Я не думаю, что через php можно узнать, сколько битов было отправлено (и фактически загружено через клиент), поскольку невозможно узнать, отменил ли пользователь загрузку или получил файл целиком.

1
ответ дан 5 December 2019 в 20:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: