PHP: включить (…); в переменную

#php #variables #include

#php #переменные #включить

Вопрос:

Я пытаюсь включить свой код AdSense в переменную, подобную этой:

 $ad = include_once('../adsense/ad.php');
echo $ad;
  

В ad.php я делаю это:

 <?php
  return '<script>...</script>';
?>
  

Он показывает мою рекламу AsSense, но только один раз. После этого он выводится 1 . Я что-то здесь упускаю?

Ответ №1:

Вы вызвали include_once() , поэтому файл будет включен только один раз. После этого он вернется TRUE , потому что вызов выполнен успешно, но новое содержимое не было включено. Вместо этого используйте обычный include() , если вам нужно использовать его несколько раз.

 $ad = include('../adsense/ad.php');
  

Ответ №2:

используйте include вместо include_once . Это или вызвать только include_once один раз 😉

Комментарии:

1. @JaredFarrish Похоже, что понижение было отменено. Возможно, неправильный щелчок

2. @Michael — Это правда, трудно сказать. Я просто хотел вставить свои 2 цента.

Ответ №3:

Я думаю, что вам может быть лучше использовать функцию для этого. Вы можете получить тот же результат гораздо более «традиционным» способом.

Использование return в include будет работать с include вместо include_once, как упоминалось в других ответах, но имейте в виду, что использование include таким образом приводит к нетрадиционным структурам кода, усложняет повторное использование, не отображается в определении списка функций, среди прочих неудобств.

Комментарии:

1. На самом деле я пытался сделать то же самое с объявлениями и показывать их только в определенное время, и я использовал переменные, но в итоге я просто использовал функции. Это сэкономит вам много времени в долгосрочной перспективе. function echo_ad(){ include('../adsense/ad.php'); } а затем вызвать функцию где бы то ни было, вместо того, чтобы повторять переменную