Показването на съобщение за грешка, ако каченият файл е твърде голям в WordPress, е всичко
Кой файл ще се счита за "твърде голям"? Зависи от няколко фактора:
- Размерът на файла е по-голям, отколкото искате да приемете (или файловата система приема)
- Времето за изчакване на PHP възниква при качване на файл (поради размера на файла)
- Файловата система няма достатъчно място
- и т.н.
Независимо какво се случва, трябва да можете да направите следното:
- Определете дали даден файл се вписва в системните ограничения (независимо от ограниченията).
- Покажете съобщение за грешка на потребителя, преди да се извърши изтеглянето.
Малко вероятно е да се счита за страхотно потребителско изживяване, ако не получавате никакви съобщения за грешка, когато се опитате да качите нещо извън ограниченията.
Файлът е твърде голям за WordPress
Както беше отбелязано по-горе, начинът, по който определяте дали даден файл е твърде голям за дадена система, зависи от множество променливи на средата.
Поради тази причина не мога да ви предложа пример, който да покрива абсолютно всички съществуващи сценарии, но има общ план за действие, който можете да следвате, като правите само необходимите промени в изпълнението, в зависимост от вашия случай на употреба. Така в примера по-долу ще покажа общ случай на структуриране на код за обслужване на сценарий с качване на твърде големи файлове.
1. Задайте куката за уведомяване.
Следното е обичайният OOP код за WordPress:
Това е нормална дефиниция на клас, където името на куката е дадено в конструктора, а действителната функция е дефинирана в класа. В нашия случай ще трябва да поработим малко върху закачената функция, така чеопредели дали файлът е твърде голям.
2. Проверете размера на файла на етапа на изтегляне
Имайте предвид, че следната функция предполага, че вече имате правилната обработка, за да определите дали масивът $_FILES е пълен. Тоест, ако потребителят се опита да качи файл, но не посочи нищо, това вече е отделен случай за обработка.
В нашия случай потребителят предостави файла, така че правим следното:
Наличието на частна функция, която изчислява размера на файла (има и други начини за проверка на типа и размера на файл, но това е извън обхвата на тази статия) прави кода много по-четлив.
По този начин кодът, представен по-горе, е много лесен за четене: "ако файловете са твърде големи, тогава показваме съобщение за грешка на екрана."
Не казвам, че това е най-добрият начин за уточняване на валидиране, но вярвам, че когато става въпрос за поддръжка на код - т.е. четенето му и работата с него месеци или години по-късно би било по-лесен подход.
3. Извеждане на грешка (или качване на файл).
И накрая, актуализираме куката, дефинирана по-горе, за да подобрим личната функция, да отпечатаме съобщение за грешка или да започнем качване на файл:
Както и да е, това е настройката по подразбиране, която използвам, когато трябва да проверя дали файлът, който качвам, е твърде голям. Вашият подход може да е – и най-вероятно ще бъде – малко по-различен, но наличието на обща основа за операции винаги е полезно.