Я вставляю image_url, а также данные title и alt с использованием методов сериализации в базу данных MySQL следующим образом:
a:3:{i:0;a:4:{i:0;s:48:"uploads/media/galleries/nature/butterfly_001.jpg";i:1;s:43:"uploads/media/galleries/nature/IMG_4181.jpg";i:2;s:43:"uploads/media/galleries/nature/swan_002.jpg";i:3;s:45:"uploads/media/galleries/nature/zzmed copy.jpg";}i:1;a:4:{i:0;s:19:"test_title";i:1;s:20:"test_title1";i:2;s:25:"test_title2";i:3;s:24:"677777777777777777777777";}i:2;a:4:{i:0;s:19:"test_alt";i:1;s:21:"test_alt1";i:2;s:21:"test_alt2";i:3;s:26:"77888888888888888888888888";}}
PHP-код:
$value['gallery_data'] = serialize((array(array_values($_POST['image_url']), array_values($_POST['image_title']), array_values($_POST['image_alt']))));
Теперь я могу напечатать image_url так:
$all1 = Access::fetch("SELECT * FROM " . GALLERIES . " WHERE id = ?", $id);
$array= unserialize($all1['0']['name']);
echo($array['0']['1']);
Выход:
uploads/media/galleries/nature/butterfly_001.jpg
НО, мне нужно распечатать список всех image_url и image_title и image_alt для каждого идентификатора, как это:
uploads/media/galleries/nature/butterfly_001.jpg - test_title - test_alt
uploads/media/galleries/nature/IMG_4181.jpg - test_title1 - test_alt1
uploads/media/galleries/nature/zzmed copy.jpg - test_title2 - test_alt2
как я могу напечатать это в foreach
метод ?!
Мой английский не очень хорош. Итак, я пишу этот код для вас. Я надеюсь, что это полезно.
$un_arr = unserialize($arr);
$export = NULL;
array_walk_recursive($un_arr, function($val, $key) use (&$export ) {
$img_extension = array('.jpg','.jpeg');
foreach($extension as $value){
if(strpos($val,$value) != false){
$export .= $val . '<br>';
}
}
});
echo $export ;
Если эта строка (strpos ($ val, ‘. Jpg’)! = False) не работает. Вы можете изменить на strpos ($ val, ‘. Jpg’)! == false. Я надеюсь, что это поможет вам
Я исправляю для многих расширение изображения. Надеюсь, это поможет вам
Других решений пока нет …