Я работаю над пользовательским блокировщиком контента, где я отображаю контент на основе: платформы для мобильных устройств / настольных ПК, операционной системы и страны пользователя.
Я застрял в той части, где я хочу показать контент.
Если пользователь из США, например, заходит на мой сайт, он должен показывать веб-страницу с другим содержанием, как, например, должен видеть пользователь из CA.
Итак, теперь мы находимся в той части php-скрипта, где скрипт определяет, что это пользователь из США, и он покажет нам веб-страницу с содержимым из США.
НО
БЕЗ изменения URL в настоящее время включен.
(поэтому нет позиции перенаправления / заголовка: ‘URL’);)
Нужно показать детерминированное содержимое на той же странице.
Как я могу это сделать?
Могу ли я отобразить содержимое из файла php?
Могу ли я использовать readfile?
Я немного растерялся, все равно нужно выполнять скрипты на странице, как если бы вы заходили на страницу по URL.
Вы просто динамически создаете include:
if ($inUS) {
$include = 'us_users.php';
} else {
$include = 'outside_us_users.php';
}
include($include);
для большего количества стран просто используйте оператор switch:
switch($country) {
case "DE":
$include = "de_users.php";
beak;
case "MX":
$include = "mx_users.php";
break;
case "US": // US falls through to default
default:
$include = "us_users.php";
break;
}
include($include);
Установите это на своей странице, в начале:
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
switch ($lang){
case "fr":
include('translate/index_fr.php');
break;
default:
include('translate/index_en.php');
break;
}
echo $lg['test1'] . $lg['test2'];
Английский файл: (index_en.php
)
<?php
$lg = array(
'test' => 'Hello',
'test2' => 'World'
);?>
FR файл (index_fr.php
)
<?php
$lg = array(
'test' => 'Bonjour',
'test2' => 'la terre'
);?>