2011-02-07 2 views
0

Есть ли способ быстро проверить, какой размер загружаемого файла? Я использую класс, который это делает, но мне нужно подождать, пока он не запустится полностью, прежде чем я смогу получить эту информацию. Я хотел бы иметь возможность пропускать класс, если файл больше, чем 5MB, т. Е. Даже не нужен, если он больше максимального.быстрый размер файла с PHP

Спасибо.

+0

ОК, я нашел JQuery плагин http://www.uploadify.com/demo/ Если вы посмотрите на в демонстрации вы увидите, что он показывает размер файла мгновенно, прежде чем он загрузит весь файл. Это именно то, что я пытаюсь выполнить. Как это делается? – santa

+0

использует флэшку для проверки размера файла изначально, я считаю, что – kjy112

+0

, если вы действительно хотите узнать, как работает fancyupload, вы можете Github it https://github.com/digitarald/digitarald-fancyupload – kjy112

ответ

1

Да. Там же переменная в дереве $ FILES называется «размер» подробнее здесь:

http://www.php.net/manual/en/features.file-upload.post-method.php

Edit: также, вы можете установить максимальный размер загружаемого файла. Вы можете установить, какой php примет, и поместить скрытое поле в html-форму, чтобы сообщить браузеру, что такое max (надеюсь, что некоторые браузеры сделают что-то умное с этим.)

+0

Спасибо. $ _FILES ['userfile'] ['size'] получает размер загруженного файла. Есть ли способ оценить размер перед загрузкой? Потому что, если он больше MAX, я бы пропустил весь процесс загрузки. Что, если кто-то решит загрузить файл 100 МБ, а мой макс - 5 МБ ... – santa

+0

PHP - серверная. Вы спросили, как проверить это с помощью PHP. Надеюсь, это были не вы, у меня есть большие пальцы, когда я ответил точно, что вы спросили. Также см. Мое редактирование о том, как сообщить браузеру не давать вам большие файлы. Я почти уверен (в любом случае в большинстве браузеров) нет возможности для javascript, чтобы узнать, насколько велик файл. По соображениям безопасности/конфиденциальности javascript не вслух прикоснуться к вашим файлам. – JasonWoof

+0

Нет, это не я. Я дам ему +1, так как вы указали мне в правильном направлении, хотя мой вопрос был неправильным. – santa

0

вы можете достичь этого, используя JavaScript/Mootools со вспышкой.

Вот плагин, который делает именно это.

Fancyupload

Fancyupload Demo w/ image file upload

+0

Это круто. Есть ли что-то подобное для jQuery? Я бы предпочел придерживаться только одной библиотеки ... – santa

+0

Пожалуйста, посмотрите мой комментарий по первому вопросу. – santa

+0

Я не знал, что вы ищете jQuery, но php не может добиться этого эффекта. – kjy112

0

вы называете его "загружаемый" и дезинформировать многих людей.

, пока вы хотите знать размер файла до загружать.

но перед файл будет полностью загружен, PHP не участвует на всех

+0

Вы правы. Я исправил свой вопрос. Независимо от того, если это невозможно сделать с PHP, это можно сделать вообще? Если с PHP, могу ли я прервать процесс загрузки и возврата некоторого сообщения об ошибке после того, как файл достигнет размера MAX? – santa

Смежные вопросы