Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.05.2012, 01:17
Аспирант
Отправить личное сообщение для maximus Посмотреть профиль Найти все сообщения от maximus
 
Регистрация: 15.05.2012
Сообщений: 41

Узнать расширение файл
Здравствуйте, совсем не рублю в js, только хочу начать его изучать
Помогите решить задачку, которую я написал на php, но вот на js написать не могу
Нужно узнать расширение файла и прописать условие
На PHP это выглядит так
<?php
function expansion($filename) {
    $expansion = substr(strrchr($filename, '.'), 1);
    if($expansion == 'jpg' && 'jpeg' && 'gif' && 'png') {
       $out = "[img]ссылка[/img]" ;   
    } elseif($expansion == 'zip' && 'rar') {
        $out = "[url]ссылка[/url]" ;
    }
    return $out ;
  }
  ?>

Загрузчик файлов выводить изображения и все другие файлы с помощью js
Вот код
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-download fade">
        {% if (file.error) { %}
            <td></td>
            <td class="name"><span>{%=file.name%}</span></td>
            <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
            <td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
        {% } else { %}
            <td class="preview">{% if (file.thumbnail_url) { %}
                <a href="{%=file.url%}" title="{%=file.name%}" rel="gallery" download="{%=file.name%}"><img src="{%=file.thumbnail_url%}"></a>
            {% } %}</td>
            <td class="name">
                <a href="{%=file.url%}" title="{%=file.name%}" rel="{%=file.thumbnail_url&&'gallery'%}" download="{%=file.name%}">{%=file.name%}</a>
            </td>
            <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
            {% if (file.url == 'jpg') { %}
            <td class="input"><a href="javascript:input('[img]{%=file.url%}[/img]')" title="{%=file.name%}">Вставить</a></td>
            {% } else { %}
            <td class="input"><a href="javascript:input('[url]{%=file.url%}[/url]')" title="{%=file.name%}">Вставить</a></td>
            {% } %}
            <td colspan="2"></td>
        {% } %}
        <td class="delete">
            <button class="btn btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}">
                <i class="icon-trash icon-white"></i>
                <span>{%=locale.fileupload.destroy%}</span>
            </button>
            <input type="checkbox" name="delete" value="1">
                
        </td>
    </tr>
{% } %}
</script>

В коде я уже написал условие, так как код знакомый, соответственно в условии нужно file.url изменить на расширение
{% if (file.url == 'jpg') { %}
            <td class="input"><a href="javascript:input('[img]{%=file.url%}[/img]')" title="{%=file.name%}">Вставить</a></td>
            {% } elseif (file.url == 'zip') { %}
            <td class="input"><a href="javascript:input('[url]{%=file.url%}[/url]')" title="{%=file.name%}">Вставить</a></td>
            {% } %}

Но вот не пойму как расширение файла узнать
Ответить с цитированием
  #2 (permalink)  
Старый 15.05.2012, 02:42
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

var fileUrl = "blah/filename.zip",
    parts, ext = ( parts = fileUrl.split("/").pop().split(".") ).length > 1 ? parts.pop() : "";

alert( ext );
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 15.05.2012, 04:26
Аспирант
Отправить личное сообщение для maximus Посмотреть профиль Найти все сообщения от maximus
 
Регистрация: 15.05.2012
Сообщений: 41

=) спасибо
Я тут еще вот так попробовал
a = 'name.png'.split('.');  
var ext = a[a.length-1];  
document.write(ext);

тоже вроде работает.
А вот не пойму как в условие прописать
скажем пишу так
var fileUrl = "тут имя файла или ссылка на него",
    parts, ext = ( parts = fileUrl.split("/").pop().split(".") ).length > 1 ? parts.pop() : "";

alert( ext );

А как в условие прописать?
{% if (document.write(ext) == 'png') { %}

не катит =(
Ответить с цитированием
  #4 (permalink)  
Старый 17.05.2014, 16:47
Новичок на форуме
Отправить личное сообщение для aH6y Посмотреть профиль Найти все сообщения от aH6y
 
Регистрация: 12.07.2010
Сообщений: 9

ext - переменная в которой хранится расширение

if (ext == 'png') {
   console.log(ext);
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текстовый файл в iframe (расширение не txt) Sergey_New Элементы интерфейса 13 20.09.2011 20:38
Как узнать размер загружаемого файла? shkarbatov Серверные языки и технологии 5 14.08.2011 17:12
Как узнать размер и расширение файла? Shitbox2 Общие вопросы Javascript 17 23.02.2011 12:26
Как узнать Расширение монитора? sukubba Общие вопросы Javascript 2 11.12.2010 06:19
Помогите нужно узнать сылку на файл находящийся на компе... Lumy:) Общие вопросы Javascript 2 03.08.2009 12:03