- 1
$sExt = file_exists("files/" . $sId . ".flv") ? "m4v" : "flv";
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+165
$sExt = file_exists("files/" . $sId . ".flv") ? "m4v" : "flv";
Вот с такой проверкой столкнулся работая над воспроизведением видео.
Лишний раз доказывает очень высокопрофессиональный уровень программистов из Пакистана, которые работали над проектом до меня :)
Lure Of Chaos 17.09.2011 20:07 # +1
movaxbx 17.09.2011 21:25 # 0
jokz 18.09.2011 00:04 # +2
например, у тебя может быть расширение видео только .mp4 и .flv
напиши код, чтобы определить расширение, зная только имя файла.
лучше чем эта строка ты не напишешь.
Lure Of Chaos 18.09.2011 00:28 # 0
inkanus-gray 18.09.2011 01:06 # +1
Меня интересует другой момент. Неужели никто не заметил, что при наличии "files/" . $sId . ".flv" возвращает "m4v", а при отсутствии flv-файла вернёт "flv". Вполне возможно, что это автоматический конвертор, который генерирует недостающий формат.
Но всё равно в коде говно:
1. С таким подходом добавлять новые форматы очень трудно.
2. Проверять тип файла лучше по сигнатуре, а не по расширению.
jokz 18.09.2011 01:46 # +2
если оно работало, то видимо и нужно было возвращать именно .mp4 при .flv
Lure Of Chaos 18.09.2011 11:12 # +1
1. файлы двух типов в одной папке
2. на вход не подается тип или полное имя, поэтому нужно узнавать самому
а при столь узко стоящей задаче: "в папке лежат файлы, либо m4v, либо flv, нужно для каждого добавить его двойник в другом формате" ну никак иначе не выкрутишься.
KirAmp 18.09.2011 09:58 # 0
Сдесь же перечислены все поддерживаемые флешплеером форматы видео. (Из "прописал путь в констурторе класса и готово")
KirAmp 18.09.2011 11:51 # 0