Я использую str_replace для изменения URL-адресов в моем шаблоне в зависимости от выбранного имени домена. Но, похоже, он останавливает PHP-код в шаблоне от загрузки.str_replace, кажется, отключает PHP
Вот что я сделал:
<?php
$domain = $website_data['domain'];
$path_to_file = 'assets/sites/'.$domain.'/index.php';
$file_contents = file_get_contents($path_to_file);
$file_contents = str_replace('domainhere',$domain,$file_contents);
file_put_contents($path_to_file,$file_contents);
echo $file_contents;
?>
Так это то, что я хочу, чтобы это сделать, то вторит в $ file_contents и файл-странице отображается. Кроме того, какой-либо материал PHP на странице просто не отображается.
Например, если я делаю это:
<?php echo $domain ?>
Это будет пустой, если бы я посмотреть на исходный код, который я могу видеть это там написано, как описано выше.
Я не эксперт по PHP, как вы можете догадаться, поэтому любые идеи будут оценены, поскольку я, очевидно, что-то пропустил!
php не является рекурсивно исполняемым. эхо не ВЫПОЛНИТЬ что-либо, оно просто выплевывает все, что вы ему рассказываете. если это что-то содержит «code block», ну, это просто символ '' ', за которым следуют'? 'и' p' и т. д. ... если вы хотите, чтобы код был выполнен, тогда вам понадобится неприятный хаки вроде 'eval()'. –
Вы действительно уверены, что «$ domain» содержит именно то, что вы ожидаете? – durbnpoisn
@MarcB или просто включить/потребовать? :-), который в основном такой же, как eval – PeeHaa