|
|
|
| Как до отправки формы узнать размер файла и его расширение?
(Для того чтобы проинформировать пользователя например о том, что он выбрал файл недопустимого расширения или размера) | |
|
|
|
|
|
|
|
для: Tyoma
(31.08.2006 в 01:28)
| | До отправки никак, но можно проанализировать файл на сервере.
Узнать размер в байтах можно при помощи функции filesize(). А о расширении можно узнать из результатов, которые возвращает функция pathinfo(). | |
|
|
|
|
|
|
|
для: Tyoma
(31.08.2006 в 01:28)
| | Определить как-то можно, но как... я незнаю ((( | |
|
|
|
|
|
|
|
для: DEM
(31.08.2006 в 10:40)
| | $_FILES['имя']['size']
$_FILES['имя']['type'] | |
|
|
|
|
|
|
|
для: Diablo_
(31.08.2006 в 11:25)
| | Эти глобальные массивы анчинают "действовать" когда ты уже например переходишь на следующую страницу или совершаешь какие-то действия... если ты просто прикрепишь файл, то это тебе ничего не даст... | |
|
|
|
|
|
|
|
для: DEM
(31.08.2006 в 11:37)
| | А можно ли как то с помошью JavaScript узнать размер файла до отправки? | |
|
|
|
|
|
|
|
для: Tyoma
(31.08.2006 в 12:32)
| | ну это надо в тему по ЯваСкрипту... | |
|
|
|
|
|
|
|
для: Tyoma
(31.08.2006 в 12:32)
| | Нет, JavaScript не работает с файлами. | |
|
|
|
|
|
|
|
для: cheops
(31.08.2006 в 13:29)
| | А как тогда узнать размер файла? Я знаю как можно что бы он вывел это вдругой странице, но... врядли имено это нужно ему | |
|
|
|
|
|
|
|
для: DEM
(31.08.2006 в 13:31)
| | На клиентской строне никак... все страдают - это плата за безопасность. | |
|
|
|
|
|
|
|
для: cheops
(31.08.2006 в 13:35)
| | А если сделать кнопку которая открывает новую страницу и в ней уже выводить информацию? | |
|
|
|
|
|
|
|
для: DEM
(31.08.2006 в 21:53)
| | Это можно, только файл всё равно загрузить на сервер придётся предварительно. | |
|
|
|
|
|
|
|
для: Tyoma
(31.08.2006 в 01:28)
| | Попытался разобраться самостоятельно (книжки почитал, у Гугла спросил). Вот что нашел:
JavaScript:
Var f = new ActiveXObject("Scripting.FileSystemObject")
var f1 = f.GetFile(PathToFile) // ссылка на обьект файла
var size = f1.Size // объем файла
f.GetExtensionName(PathToFile) // расширение файла
|
Еще не тестировал, но надеюсь что будет работать )) | |
|
|
|
|
|
|
|
для: Tyoma
(31.08.2006 в 19:31)
| | Tyoma, если работает, то подскажи как - у меня что-то не хочет, подставляю патч, но вуыдаёт ошибку. | |
|
|
|
|
|
|
|
для: Tyoma
(31.08.2006 в 01:28)
| | До функции загрузки проверить тип и разширение. И если они не допустимые вывести сообщение и прервать виполнение функции
function img_load($img, $path) {
$image = $_FILES[$img]['name'];
$size = getimagesize($_FILES[$img]['tmp_name']);
if ($_FILES[$img]['size'] > 350000 || $size[0] > 800) {
report('Размер или разрешение файла превышают лимит<br>ЗАГРУЗКА <b>'.$image.'</b> НЕ ПРОИЗВЕДЕНА');
return false;
}
if (copy($_FILES[$img]['tmp_name'], $path.$image)) {
unlink($_FILES[$img]['tmp_name']);
//chmod($path.$image, 0644);
}
resizeimg($path.$image, 500, 375);
return true; | |
|
|
|