Валидации – большая проблема, так как если я проверяю в php, у нее есть все функции и т. Д. Мне нужно заставить ее работать. Но она сначала загружает файл во временное место, а затем проверяет, что отстой. Если кто-то загружает файл в 100mb, он должен ждать времени, чтобы не получить никаких ошибок, но только некоторые внутренние php висят, вися страница.
Один путь: JS
//file is id of input file alert(document.getElementById('file').files[0].fileSize);
Это работает в firefox, safari, chrome, я тоже думаю. NOT: В opera, конечно же, IE, но IE можно позаботиться о размере файла ActiveX, но Opera я все еще застрял. Настолько красиво непригодным, так или иначе, чтобы обойти это?
Во-вторых: я думал, могу ли я дать настраиваемое оповещение php или что-то, установив максимальный размер в php.ini или что-то в этом роде, что могло бы легко решить проблему. То, что я ищу.
ДРУГОЕ ОБНОВЛЕНИЕ:
Я обманывал себя с помощью rapidshare, чтобы понять, что происходит, я понял, что даже они используют проверку размера файла javascript: P Теперь это отлично работает с firefox, а другие, как я уже сказал, даже IE, поскольку у него есть задний способ ActiveX, но Opera является жертвой: P Они не могут дать фэнтезийную ошибку JavaScript в этом случае. Но у них есть откат назад, проверка на стороне сервера занимает несколько секунд, негладкая, но в конце концов она показывает небольшую ошибку.
Так что просто нужно узнать эту часть на стороне сервера сейчас без загрузки, и, на мой взгляд, только один способ сделать это:
Спасибо и с уважением. Пожалуйста помоги. 🙂
Вот плагин, который использует flash + javascript (MooTools) для загрузки файлов. Потенциал этого плагина заключается в том, что он поддерживается, и вы можете его использовать. Он может ограничивать максимальный размер и т. Д. И проверять информацию о файлах перед загрузкой. Кроме того, есть пример для бэкэнд с использованием PHP о том, как файлы обрабатываются после его загрузки.
Fancyupload
Особенности
Вот плагин jQuery, который делает то же самое, что и MooTools:
Uploadify
Вы можете установить максимальный размер, разрешенный в PHP, Javascript и Apache.
Используйте Javascript для самых удобных для пользователя, так как он немедленно оповещает пользователя.
Используйте PHP рядом с простейшим способом проверки после загрузки.
Используйте Apache последний раз, поскольку он довольно низкий, и я считаю, что проверка слишком большого количества файла (чтобы дать приятное предупреждение пользователю) сложнее.
Вы можете использовать серверное решение.
Используйте $_SERVER['CONTENT_LENGTH']
после попытки загрузки файла. Эта переменная возвращает размер загруженного файла, даже если загрузка не удалась.
if(isset($_SERVER['CONTENT_LENGTH']) && $_SERVER['CONTENT_LENGTH']>2097152) $error = 'Upload FAILED, file is too large !';
Этот метод отлично работает для всех случаев ошибок при загрузке файла, даже если размер файла больше MAX_FILE_SIZE
, upload_max_filesize
или post_max_size
(из php.ini)
Для получения дополнительных функций вы можете попробовать http://valums.com/ajax-upload/