Доброго времени суток. Мигрировал сайт с джумлы 1.0->1.5->2.5. Ссылки на картинки сайта, хранящиеся в БД поменялись, точнее их вид/формат. Код (PHP): $query2 = "SELECT * FROM j25_categories WHERE id = 95"; $database =& JFactory::getDBO(); $database->setQuery( $query2); $rows = $database->loadObjectList(); var_dump($rows[0]->params); этот пример кода дает результат: string(81) "{"category_layout":"","image":"images\/stories\/name.jpg"}" Вопрос: как мне получить в отдельной переменной только путь к картинке (images\/stories\/name.jpg) либо название файла (name.jpg) ?
Код (PHP): img = unserialize($rows[0]->params); скорее всего это будет объект Работа с объектами классов PHP
значит это не сериализация ищи код в котором производится формирование строки для внесения в БД формирование этой строки где то должна быть функция которая создаёт эту строку, потом сделаешь обратное преобразование и получишь переменную с нужными сзначениями
Эта строка находится в БД, следовательно создается при добавленнии картинки к категории. Есть какие-то соображения, где примерно это может быть ?
У него на выходе не сериализованный массив же, при чём тут ансериалайз? Я так и не понял что Вам нужно сделать. Вы копаетесь в базе чего? J1.0 или J2.5?? То есть из строки нужна только часть нужна images\/stories\/name.jpg? Если формат строки всегда одинаковый, то можно попробовать выбрать из строки все последние символы до двоеточия. Надо мануал почитать...)) http://www.php.net/manual/ru/book.strings.php http://www.php.net/manual/ru/book.array.php Блин, в любом случае это изврат какой-то... Напишите точно что есть в начале и что нужно на выходе.
именно это очень похоже на объект с одной переменной image если записать так Код (PHP): echo category_layout->image;