Нашел в чужой базе поле для адреса картинок такого вида:
YToyOntpOjA7YTo0OntzOjQ6InJlYWwiO3M6MzY6IjAzMGVlYTUxNjJjOGViZTBiYTQ4YTk5MTM2MDdjYjR6LmpwZyI7czo0OiJvcmlnIjtzOjg6ImltZzYuanBnIjtzOjE6InciO2k6Mjc0O3M6MToiaCI7aToyMDk7fWk6MTthOjQ6e3M6NDoicmVhbCI7czozNjoiOTFlMzA3OGM1MWNiOWFhZjMxNjM0MGZkZTc3ZDU1ZTAuanBnIjtzOjQ6Im9yaWciO3M6ODoiaW1nNi5qcGciO3M6MToidyI7aToxMjA7czoxOiJoIjtpOjkyO319
Автодекодер подсказал такой вариант декода из Base64:
a:2:{i:0;a:4:{s:4:"real";s:36:"030eea5162c8ebe0ba48a9913607cb4z.jpg";s:4:"orig";s:8:"img6.jpg";s:1:"w";i:274;s:1:"h";i:209;}i:1;a:4:{s:4:"real";s:36:"91e3078c51cb9aaf316340fde77d55e0.jpg";s:4:"orig";s:8:"img6.jpg";s:1:"w";i:120;s:1:"h";i:92;}}
Код php:
while ($row = mysql_fetch_assoc($res)) {
$img = foto_info($row['r_foto']);
2 вопроса, как и зачем? Как заводить новые url'ы в такое поле особо не извращаясь?
Это сериализованный массив, закодированный в base64.
Пример декодирования информации:
$encoded_string = 'YToyOntpOjA7YTo0OntzOjQ6InJlYWwiO3M6MzY6IjAzMGVlYTUxNjJjOGViZTBiYTQ4YTk5MTM2MDdjYjR6LmpwZyI7czo0OiJvcmlnIjtzOjg6ImltZzYuanBnIjtzOjE6InciO2k6Mjc0O3M6MToiaCI7aToyMDk7fWk6MTthOjQ6e3M6NDoicmVhbCI7czozNjoiOTFlMzA3OGM1MWNiOWFhZjMxNjM0MGZkZTc3ZDU1ZTAuanBnIjtzOjQ6Im9yaWciO3M6ODoiaW1nNi5qcGciO3M6MToidyI7aToxMjA7czoxOiJoIjtpOjkyO319';
$img = base64_decode(unserialize($encoded_string));
var_dump($img);
Выведет:
array (size=2)
0 =>
array (size=4)
'real' => string '030eea5162c8ebe0ba48a9913607cb4z.jpg' (length=36)
'orig' => string 'img6.jpg' (length=8)
'w' => int 274
'h' => int 209
1 =>
array (size=4)
'real' => string '91e3078c51cb9aaf316340fde77d55e0.jpg' (length=36)
'orig' => string 'img6.jpg' (length=8)
'w' => int 120
'h' => int 92
Как с ним работать:
function decodeThis($str){
return unserialize(base64_decode($str));
}
function encodeThis($arr){
return base64_encode(serialize($arr));
}
//Пример работы
//Входная закодированная строка
$value = 'YToyOntpOjA7YTo0OntzOjQ6InJlYWwiO3M6MzY6IjAzMGVlYTUxNjJjOGViZTBiYTQ4YTk5MTM2MDdjYjR6LmpwZyI7czo0OiJvcmlnIjtzOjg6ImltZzYuanBnIjtzOjE6InciO2k6Mjc0O3M6MToiaCI7aToyMDk7fWk6MTthOjQ6e3M6NDoicmVhbCI7czozNjoiOTFlMzA3OGM1MWNiOWFhZjMxNjM0MGZkZTc3ZDU1ZTAuanBnIjtzOjQ6Im9yaWciO3M6ODoiaW1nNi5qcGciO3M6MToidyI7aToxMjA7czoxOiJoIjtpOjkyO319';
//Раскодируем ее в массив
$img = decodeThis($value);
//Посмотрим, что получилось:
echo '<p>Массив до манипуляций</p>';
var_dump($img);
//Изменим массив. Например, извлечем последний элемент
array_pop($img);
//Посмотрим, что получилось:
echo '<p>Массив после манипуляций</p>';
var_dump($img);
//Закодируем обратно
$new_value = encodeThis($img);
//Посмотрим, что получилось:
echo '<p>Старая закодированная строка</p>';
var_dump($value);
echo '<p>Новая закодированная строка</p>';
var_dump($new_value);
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Для чего названия таблиц базы данных mysql, как правило, начинаются с префикса? Самый нелепый ответ, который я получил - это "в целях безопасности"А...
В таблице users_sessions, есть поле hash int(35)Почему-то когда пытаюсь добавить в него к примеру более 10 цифр, то оно генерирует непонятное число 2147483647
У меня есть диск с веб Java приложением и всем необходимым (Apache, плагины итд) чтоб оно работало на компьютере через ИЕЭто приложение использует...