Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Помогите выбрать стороку из названия файла


Автор: lexstir 19.12.2014, 17:39
Здравствуйте! Ребят, у меня такая задача, помогите пожалуйста! 
Мне надо в папке перебрать все картинки и выбрать часть строки. Перебор я вроде сделал, а вот как выбрать строчку не знаю. Файлы формата: 
Код

1 КОПЕЙКА 1706.jpg, 0,5 КОПЕЕК 1779 СМ.jpg

мне нужно выбрать в 2 переменные 1 КОПЕЙКА и 1706, 0,5 КОПЕЕК и 1779
Я программировал очень давно, а сейчас вот понадобилось, разбираться со всем нету времени, так что не обессудьте!   smile 
Огромное спасибо! 

Автор: s0lman 19.12.2014, 18:20
Что-то вроде такого?
Код

$fileName = '1 КОПЕЙКА 1706.jpg';
$fileName = basename($fileName, '.jpg');

Автор: lexstir 19.12.2014, 18:39
Во, спасибо, вообщем разобрался, теперь explode и разбиваю строку.

Автор: _zorn_ 19.12.2014, 19:22
Цитата(s0lman @ 20.12.2014,  01:20)
Что-то вроде такого?
Код

$fileName = '1 КОПЕЙКА 1706.jpg';
$fileName = basename($fileName, '.jpg');

А теперь попробуйте 
Код
$fileName = 'ОЛОЛО КОПЕЙКА 1706 Я ХЗ ЧТО БУДЕТ В РЕЗУЛЬТАТЕ.jpg';
$fileName = basename($fileName, '.jpg');


Древняя бага ПХП в basename и подобных. Типа pathinfo.

Автор: lexstir 19.12.2014, 20:19
ну предложите лучше вариант, хотя мне ее вполне достаточно, таких длинных имен у меня нет!

Автор: Gold Dragon 20.12.2014, 14:29
а регуляркой не проще?
Цитата(lexstir @  19.12.2014,  18:39 Найти цитируемый пост)
мне нужно выбрать в 2 переменные 1 КОПЕЙКА и 1706, 0,5 КОПЕЕК и 1779
я только не понял где именно разделяются переменные smile

Автор: _zorn_ 22.12.2014, 03:33
Цитата(lexstir @  20.12.2014,  03:19 Найти цитируемый пост)
таких длинных имен у меня нет! 

Не в длине дело. basename/pathinfo не правильно работают если имя файла начинается не с английского символа.
По вашей задаче - explode или регулярка.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)