Друзья, как заставить файл 1.php брать такое значение PHP: $text = "CRYPTORY"; из файла 2.php и выводить его на странице 1.php?
session include require извращенческий метод если файл на этом же сервере https://php.ru/manual/book.curl.html
По другому никак? Просто вынести некоторые слова из конфига в разные места другого PHP файла по другому не получится? PHP: <?php ####################################################################################### $projectnumber = "Количество завершенных проектов"; // количество завершенных проектов $company_name = "CRYPTORY"; // название компании, изменяется на всём сайте ####################################################################################### ?>
как заставить руку подняться не поднимая руки ? --- Добавлено --- и я пока так и не понял зачем это именно так надо
Нужно изменить название компании во всех Титле, в тексте, в кейвордсах... Это необходимо, чтобы шаблон был быстро перенастраиваемым. --- Добавлено --- Как использовать инклюд в данном примере с переменными? Можно ли попросить у вас пример кода? На счет инклюда думал, но он вроде переносит весь текст файла, который мы инклюдим, в одно место. А мне надо эти значения(название компании и количество) раскидать по разным местам. КАК?
стапе templateController.php PHP: <?php /* Модуль управления шаблонами Автор: Немиро Алексей 04 марта 2007 года mailto:admin@kbyte.ru Copyright (c) Nemiro AS, 2007 */ class templateController { public $time_start; public $content; // для хранения контента public $templateName; // имя файла шаблона public $errorMessage; // сообщение об ошибке public $title; // заголовок <title></tile> // инициализация function templateController() { $content = array(); $templateName = ""; $errorMessage = ""; $title = ""; } // вывод данных function Fill() { // загрузка шаблона $result = file_get_contents($this->templateName); if (!$result) { $errorMessage = "<span style=\"color: Red\"> Ошибка: Файл шаблона <strong>".$this->templateName."</strong> не найден.</span><br />"; return $errorMessage; } else { // ищем <title></title> $titleTemplate = '`(<title>(.*)</title>)|(<TITLE>(.*)</TITLE>)|(<Title>(.*)</Title>)`'; if (preg_match($titleTemplate, $result)) { if ($this->title != NULL) { $newTitle = $this->title; $result = preg_replace($titleTemplate, "<title>$newTitle</title>", $result); } } // поиск и замена блоков контента самим контентом while ($s = current($this->content)) { $result = str_replace("<!--php:".key($this->content)."-->", $s, $result); next($this->content); } echo $result; // $time_end = getmicrotime()- $time_start; // echo "<BR>Время генерирования странички2: ".$time_end ; } } } ?> ИСПОЛЬЗОВАНИЕ PHP: require( $_SERVER['DOCUMENT_ROOT']."/templateController.php"); // создаем экземпляр класса управления шаблонами $master = new templateController(); // указываем контент для блока HeadContent $master->content["HeadContent"] = $header; $master->content["BodyContent"] = $body; // указываем новый файл шаблона $master->templateName = $_SERVER['DOCUMENT_ROOT']."/test.html"; // указываем <title></title> $master->title = "чтото в титле"; // выводим результат $master->Fill(); сожержание test.html HTML: <?xml version="1.0" encoding="UTF-8"?> <!--kartochka-3.html--> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>заголовок всеравно затрется</title> <!--php:HeadContent--> </head> <body> <!--php:BodyContent--> </body> </html>
Если я всё правильно понимаю, то тут надо БД использовать а не плодить файлы компаний, которых в теории может быть тысячи...
Что значит как? В подключаемом файле делаем переменные, подключаем его (файл) в начало нужного файла, а потом эти переменные выводим эхом в нужных местах. Может я не понял, конечно, суть проблемы, но я бы сделал так. Не могу понять в чём сложность.
РЕШЕНИЕ: В файл индекса сверху вставляем PHP: <?php include '../config.php'; ?> Там, где нужно вызвать то или иное значение: PHP: <?php echo "$projectnumber $company_name"; // Количество завершенных проектов Имя компании ?> Файл конфига: PHP: <?php ####################################################################################### $projectnumber = "Количество завершенных проектов"; // количество завершенных проектов $company_name = "CRYPTORY"; // название компании, изменяется на всём сайте ####################################################################################### ?>
Ну так а в чём, собственно, проблема была? Переменные, как бы для того и нужны, чтобы их инициализировать, а потом проводить с ними различные операции, например, вывод) --- Добавлено --- Только это работать не должно по идее. Чтоб вывести переменные таким способом нужно использовать конкатенацию: PHP: echo"$projectnumber . $company_name";
@SamyRed, конкатенацию надо использовать, если ты выводишь чисто переменные. Он же выводит строку в двойных кавычках. А в двойных кавычках что происходит с переменными?
Можно ещё так https://php.ru/forum/threads/include-vs-file_get_contents.58988/#post-474571 https://php.ru/forum/threads/file_get_contents-proisxodit-redirekt-na-glavnuju.59169/#post-476516