Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как узнать размер и расширение файла? (https://javascript.ru/forum/misc/15098-kak-uznat-razmer-i-rasshirenie-fajjla.html)

Shitbox2 13.02.2011 14:43

Как узнать размер и расширение файла?
 
На страничке есть ссылка на файл
<a href="file.doc">Файл</a>

Рядом с ссылкой должны автоматически указываться расширение и размер файла: Файл (DOC, 15 КБ)

Как это сделать?
Не нашел в JS нужных функций.

Kolyaj 13.02.2011 15:14

Это делается на сервере.

Shitbox2 13.02.2011 16:55

Т.е. придется писать серверную программу или можно на PHP сделать?

NoResponse 13.02.2011 17:13

можно сделать на пхп

B@rmaley.e><e 13.02.2011 17:24

А php что, не на сервере работает?

Shitbox2 13.02.2011 20:44

Вот, а как тогда на ПХП это замутить? Может быть есть какие-нибудь готовые решения, ведь на каждом форуме показываются параметры прикрепленных файлов.

Дайте, какую-нибудь наводку, плиз.

B@rmaley.e><e 13.02.2011 21:36

Стандартные функции же
$extension = pathinfo($file, PATHINFO_EXTENSION);
$size = filesize($file);
Где $file - путь к файлу.
Можно определять еще на этапе загрузки файла. Тогда в первом случае нужно заменить $file на $_FILES['имя поля файла']['name'], а второе - на $_FILES['имя поля файла']['tmp_name'].

Shitbox2 14.02.2011 00:39

Спасибо большое, попробую. С ПХП года три не работал — все забыл :-(

Shitbox2 20.02.2011 02:50

Функция filesize не понимает кириллицу (на сервере и в ПХП utf-8). Все уже перепробовал и iconv("windows-1251","utf-8",$filename); и urlencode($filename);

Как указать кириллическое имя файла?

<?php
$filename = 'Нужный файл.doc';					
echo strtoupper(pathinfo($filename, PATHINFO_EXTENSION)) . ', ' . filesize($filename)/1024 . ' КБ';
?>

Gvozd 20.02.2011 03:01

Цитата:

Сообщение от Shitbox2
на сервере и в ПХП utf-8

Цитата:

Сообщение от Shitbox2
iconv("windows-1251","utf-8",$filename);

эм?
что за бред?
у тебя страница в UTF-8, и ты конвертируешь в ней строку из win-1251 в utf-8?!
посмотри с помощью scandir в какой кодировке у тебя имена файлы


Часовой пояс GMT +3, время: 08:43.