Добрый день. Есть функция которая считывает pdf документы из папки и выводит их название. После перехода на php7 вместо названии выводить кроказябры. Название документов на русском языке. Вот эта функция: PHP: public function createPDF(){ $dir = 'inc/pdfdocument'; $files = scandir($dir); $result = ""; $con1 = '<div class="container"><div class="row">'; $con2 = '</div></div>'; foreach ($files as $file): if(preg_match('/\.(pdf)/', $file)){ $result .= '<div class="col-4 shadow-lg p-3 mb-5 rounded directive-block" >'.iconv('windows-1251', 'UTF-8', $file).'</div>'; } endforeach; return $con1.$result.$con2; } Подскажите что отрабатывает не так?
Быстрее не быстрее, тут вопрос пары наносекунд, но твой вариант правильнее, да. Я забыл про второй аргумент. А по удобству, универсальности, поддерживаемости? То-то и оно.
у обоих равно. Не согласен. В чем универсал, если в коде нужно единственным образом достать последние 3 - 4 символа и проверить пдф или нет ? По факту что и второй пункт, у нас конкретика с данными. Что и кодировку учитывать можно и опустить
В том, что ты просто пишешь pathinfo != "ext", и эта запись не меняется в зависимости от расширения, только расширение. Не надо считать циферки, городить города, можно вообще оформить это как отдельную функцию, чтобы количество кода чуть сократить, и не париться с вычислениями длинн. Тут все просто - если для какго-то действия есть нативная функция - USE IT.