Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Подстановка значения после десереализации

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
qtk
Отправлено: 27 Февраля, 2020 - 21:49:11
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Добрый вечер. Не могу понять, как передать имя константы при сериализации так, что бы при десериализации это имя было заменено значением.
PHP:
скопировать код в буфер обмена
  1. $content = ['file' => PATH . '/dir/img.jpg'];
  2. serialize($content);
  3. define('PATH', 'path/content');
  4. unserialize($content);


хочется видеть
PHP:
скопировать код в буфер обмена
  1. ['file' => 'path/content/dir/img.jpg'];


но как сделать не понимаю. Всем за ранее спасибо!
 
 Top
Строитель Модератор
Отправлено: 27 Февраля, 2020 - 23:08:16
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




qtk
Спойлер (Отобразить)
?
 
 Top
qtk
Отправлено: 28 Февраля, 2020 - 06:03:38
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Строитель пишет:
qtk
Спойлер (Отобразить)
?

Не не не. Сереализация происходит в одном месте, данные записываются в файл, за тем десереализация в скрипте и только этот скрипт знает путь
 
 Top
Мелкий Супермодератор
Отправлено: 28 Февраля, 2020 - 09:37:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Никак. Уже после этой
PHP:
скопировать код в буфер обмена
  1. $content = ['file' => PATH . '/dir/img.jpg'];

строки в $content никакой константы нет.

Конкатенируйте PATH явно сами в том скрипте где это необходимо.


-----
PostgreSQL DBA
 
 Top
qtk
Отправлено: 28 Февраля, 2020 - 10:08:28
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




А если в место константы будет переменная или функция, тоже никак?

Я более чем уверен, что занимаюсь полнейшей дичью.... но все же)))
 
 Top
LIME
Отправлено: 28 Февраля, 2020 - 11:37:45
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




qtk используй плэйсхолдер
PHP:
скопировать код в буфер обмена
  1. $content = ['file' => '%PATH% /dir/img.jpg'];

и заменяй значения в строках из массива подстановок или откуда тебе самому виднее
qtk пишет:
Я более чем уверен, что занимаюсь полнейшей дичью
совсем нет
любой шаблонизатор по сути делает именно это
 
 Top
qtk
Отправлено: 28 Февраля, 2020 - 11:52:20
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




LIME пишет:
qtk используй плэйсхолдер

Думаю это то что надо! Спасибо! Спасибо всем!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB