U.Helper

05 Ноября 2009 02:08
Главная » Разработки » Разработки для модуля "Каталог файлов" » Получить из строки $FILE_DIRECT_URL$ расширение файла
Из переменной $FILE_DIRECT_URL$ получаем расширение файла:
Code
<?substr(substr($FILE_DIRECT_URL$,strpos($FILE_DIRECT_URL$,'/_ld/0/')+7,len($FILE_DIRECT_URL$)-strpos($FILE_DIRECT_URL$,'/_ld/0/')-7),strpos(substr($FILE_DIRECT_URL$,strpos($FILE_DIRECT_URL$,'/_ld/0/')+7,len($FILE_DIRECT_URL$)-strpos($FILE_DIRECT_URL$,'/_ld/0/')-7),'.')+1,len(substr($FILE_DIRECT_URL$,strpos($FILE_DIRECT_URL$,'/_ld/0/')+7,len($FILE_DIRECT_URL$)-strpos($FILE_DIRECT_URL$,'/_ld/0/')-7))-strpos(substr($FILE_DIRECT_URL$,strpos($FILE_DIRECT_URL$,'/_ld/0/')+7,len($FILE_DIRECT_URL$)-strpos($FILE_DIRECT_URL$,'/_ld/0/')-7),'.')-1)?>

Пример: http://your.site.com/_ld/0/2_gjD.rar -> rar
Можно подставить строку в class="..." либо в путь иконки src="/img/....gif"

p.s. постил в частности для себя, чтобы знать потом где искать, т.к. понадобится может еще не один раз


Правила использования:

  • Все права на публикуемые скрипты принадлежат их авторам!
  • Запрещается распространение скриптов без указания автора!
  • Запрещается "затирание" копирайтов!
Рейтинг: ← 10 →
Модуль: Каталог файлов | 3112 просмотров | Автор: mob_dp | Добавлено: 05 Ноября 2009 | Пример
26 комментариев

0
Бармалей[Материал] 22:05, 05 Ноября 2009
Все делается в сотню раз проще и короче.
Code
<?substr(substr($FILE_DIRECT_URL$,strpos($FILE_DIRECT_URL$,'/_ld/0/')+7), strpos(substr($FILE_DIRECT_URL$,strpos($FILE_DIRECT_URL$,'/_ld/0/')+7),'.')+1)?>
Но если в имени файла присутствует точка, то расширение определится неверно.
Цитировать
Сайт
1
uWeb[Материал] 00:08, 06 Ноября 2009
Quote
p.s. постил в частности для себя, чтобы знать потом где искать, т.к. понадобится может еще не один раз

вообще есть webcodes
Цитировать
Сайт
0
dnluser[Материал] 18:53, 06 Ноября 2009
Вроде бы полезная разработка. Но не на всех сайтах она будет актуальна...
Цитировать
Сайт
0
uWeb[Материал] 19:01, 06 Ноября 2009
похоже эти коды идентичны друг другу.
http://clip2net.com/page/m0/2481564
Цитировать
Сайт
0
mob_dp[Материал] 20:03, 06 Ноября 2009
Quote (Бармалей)
Но если в имени файла присутствует точка, то расширение определится неверно.

Угу, но это обойти использую только substr+strpos вряд ли получится.
имеем то что имеем.

Quote (uWeb)
вообще есть webcodes

знаю, но эта штука может еще кому-то пригодится.

Quote (dnluser)
Вроде бы полезная разработка. Но не на всех сайтах она будет актуальна...

а все остальные актуальны для каждого сайта?
если нада - бери, не надо - не смотри

Quote (uWeb)
похоже эти коды идентичны друг другу.

у меня текст, а там картинка. не идентичны.
Цитировать
Сайт
0
uWeb[Материал] 00:08, 24 Ноября 2009
да и вообще на себе проверил для кода нужны условия
/_ld/0/ меняестя после 100 добавленных материалов тоесть /_ld/1/
Цитировать
Сайт
0
zid[Материал] 12:56, 02 Января 2010
Можно по подробнее пример?
Цитировать
Сайт
0
NeoGame_12[Материал] 22:43, 03 Января 2010
а каким скриптом можно заполучить разширение файла с такой ссылки http://fpsbanana.com/mirrors/startdl/8693?path=http://fpsdl.piggy-ph.net/skins/186/bf2_buggy§ionid=4943870&ext=zip
Цитировать
0
LuСiFеr[Материал] 05:24, 05 Января 2010
не подскажите в чем может быть дело, ставлю, на один сайт, в код шаблона
Code
<?if($FILE_URL$)?>
<img src="/attachment/<?substr(substr($FILE_DIRECT_URL$,strpos($FILE_DIRECT_URL$,'/_ld/0/')+7), strpos(substr($FILE_DIRECT_URL$,strpos($FILE_DIRECT_URL$,'/_ld/0/')+7),'.')+1)?>.gif">
<a href="$FILE_URL$"><!--<s5223>-->Скачать с сервера<!--</s>--></a> ($FILE_SIZE$)<hr />
<?endif?>

работает, отображает изображения, этот же код ставлю на другой сайт, вместо расширения, он «вытягивает» полный адрес к файлу, пробовал восстановить стандартный шаблон, не помогло......
Цитировать
Сайт
0
LuСiFеr[Материал] 23:05, 05 Января 2010
каталог файлов, на обеих сайтах
Цитировать
Сайт
0
LuСiFеr[Материал] 07:31, 12 Января 2010
никто не знает в чем может быть дело?(
Цитировать
Сайт
0
borisle2[Материал] 16:20, 16 Января 2010
Как вывести формат файла (mp3,wma и т.д.) Модуль: Каталог файлов

Только музыка у меня залита не только на сайт, но и на другой сервер.
В общем с этих кодов - $FILE_URL$ и $RFILE_URL$

Цитировать
0
uWeb[Материал] 19:23, 16 Января 2010
для этих кодов ни как
Цитировать
Сайт
0
uWeb[Материал] 19:21, 16 Января 2010
id > 100 /_ld/1/
Цитировать
Сайт
0
killo-w[Материал] 11:48, 12 Мая 2010
Я у себя сделал иначе не на нахождения точки, а на нахождения формата в целом. это очень удобно так как можно вывести сразу нужное место одного лишь формата
Цитировать
Сайт
0
Zzve(r)[Материал] 09:27, 08 Июня 2010
<p><?substr($FILE_DIRECT_URL$,strpos($FILE_DIRECT_URL$,'/_ld/')+7)?>— Название файла.</p>
<p><?substr(substr($FILE_DIRECT_URL$,strpos($FILE_DIRECT_URL$,'.')+7), strpos(substr($FILE_DIRECT_URL$,strpos($FILE_DIRECT_URL$,'.')+7),'.')+1)?>— Расширение файла.</p>
<p>Просто немного отредактировал имеющиеся решения.<br />
ps: не пинайте имхо серверные коды «у коз» только начал использовать<br />
</p>
Цитировать
0
kanat07[Материал] 22:13, 03 Июля 2010
WTF?

Code
<?substr($FILE_DIRECT_URL$, -3,3)?>

dry
Цитировать
0
Бармалей[Материал] 19:31, 04 Июля 2010
.jpeg → peg?
.html → tml?
.js → .js?
Цитировать
0
kanat07[Материал] 10:00, 07 Июля 2010
Code
<?if(substr($FILE_DIRECT_URL$,-4,1)=".")?><?substr($FILE_DIRECT_URL$,-4)?><?else?><?substr($FILE_DIRECT_URL$,-3)?><?endif?>

biggrin
Цитировать
0
Бармалей[Материал] 15:23, 07 Июля 2010
script.d.js?
file.header.3.2.1.h?
И как быть с пяти и более символьными расширениями?
Цитировать
Сайт
0
kanat07[Материал] 23:23, 07 Июля 2010
я думал что юкоз убирает точки если в имени файла присутсвуют они...
Цитировать
0
Бармалей[Материал] 16:51, 08 Июля 2010
Да? Но тем не менее, с расширением, отличным от 3 и 4 символов, Ваш вариант работает некорректно.
Цитировать
0
dasasa[Материал] 23:39, 08 Июля 2010
Я думаю легче все-таки использовать для каждого разрешения в отдельности:
Code
<?if(substr($FILE_DIRECT_URL$, -2)='js')?>js<?endif?>
<?if(substr($FILE_DIRECT_URL$, -3)='wav')?>wav<?endif?>

Других стабильных методов нет wacko

Цитировать
0
Fflesh[Материал] 03:14, 04 Августа 2010
... Народ, а что вот так не работает?
Code
<?substr(substr($FILE_DIRECT_URL$,-10),strpos(substr($FILE_DIRECT_URL$,-10),'.'))?>

- Циферка «10» - от балды.
Quote (Бармалей)
script.d.js?
file.header.3.2.1.h?
И как быть с пяти и более символьными расширениями?

- с этим, естественно, - работать не будет ヅ ....
Но, как вариант - вполне ...

Flesh

Цитировать
1
Бармалей[Материал] 00:38, 05 Августа 2010
Code
[php]<? substr($FILE_DIRECT_URL$,strrpos($FILE_DIRECT_URL$, '.')+1) ?>
Самый лучший способ.
Цитировать
0
Негодяй[Материал] 11:26, 28 Октября 2011
Спасибо
Цитировать
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

© U.Helper 2007-2024 Используются технологии uCoz