Jump to content
  • 0

Передать константу в include в url


Coder_D
 Share

Question

Всем привет! Скажите, почему не получается сделать вот так?

в файле connect.php указываю:


<?php
define('SITE_NAME', 'http://localhost/ONESITE.COM/');
?>

В файле index.php подключаю этот файл:


<?php
include_once 'connect.php';
?>

И далее в этом же файле пытаюсь считать значение константы:


<html>
<head></head>
<body>
......
include_once SITE_NAME . 'inc/tamplate.inc.php';
......
</body>
</html>

Ожидаю, что в include_once пойдет строка "h t t p://localhost/ONESITE.COM/inc/tamplate.inc.php", но этого не происходит.

Понимаю, что что-то делаю не так, или о чем-то не знаю. Подскажите пожалуйста. Спасибо!

P.S. Пробовал вместо константы брать переменную, всё равно не помогло.

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

ну как вариант, попробуйте вместо include_once написать к пример require

а ещё. попробуйте перед тем как подключать. сначала вывести на экран, посмотреть, она вообще существует и что в ней записано

echo SITE_NAME

Edited by McLotos
Link to comment
Share on other sites

  • 0

Ну конечно же всё элементарное я уже перепробовал.

echo выводит на экран то, что нужно, я думаю, что проблема кроется именно в функциях подключения и их взаимодействием с урлами и\или с константами.

P.S. насколько я знаю, разница между include и require лишь в выводе ошибки. Один выводит варнинг, другой фатал эррор. В остальном они идентичны.

Edited by Coder_D
Link to comment
Share on other sites

  • 0

Ну конечно же всё элементарное я уже перепробовал.

echo выводит на экран то, что нужно, я думаю, что проблема кроется именно в функциях подключения и их взаимодействием с урлами и\или с константами.

P.S. насколько я знаю, разница между include и require лишь в выводе ошибки. Один выводит варнинг, другой фатал эррор. В остальном они идентичны.

1.require включает код файла до выполнения, в отличие от include. так что разница не только в ошибках. include позволяет включать файлы динамически на этапе выполнения.

2.без "allow_url_fopen = On" и "allow_url_include = On" в php.ini удаленное включение в include и require не будет работать.

  • Like 2
Link to comment
Share on other sites

  • 0

без "allow_url_fopen = On" и "allow_url_include = On" в php.ini удаленное включение в include и require не будет работать.

Спасибо! Стало ясно! По умолчанию в PHP allow_url_include = Off (и на локальной и на хостинге проверил). Интересно, почему по умолчанию флаг в положении Off. Чревато неприятностями?

Link to comment
Share on other sites

  • 0

без "allow_url_fopen = On" и "allow_url_include = On" в php.ini удаленное включение в include и require не будет работать.

Спасибо! Стало ясно! По умолчанию в PHP allow_url_include = Off (и на локальной и на хостинге проверил). Интересно, почему по умолчанию флаг в положении Off. Чревато неприятностями?

Нужно отдавать себе отчет в том что это удаленное включение(не загрузка данных которые вы потом обработаете, а включение способное вмешатся в процесс работы скрипта!). Так же есть нюансы, если включение происходит со стороннего сервера и вызываемый файл является исполняемым подключается результат его работы, а не сам исходный код файла ).

На вашем месте я бы использовал локальные пути файлов если у вас нет нужды подключать файлы с других серверов. А в случае если нужно подгрузить просто какие-то данные лучше использовать file() или file_get_contents().

Edited by wwt
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Alarr
      При стандартных Вордпрессовских комментариях, когда оставляешь коммент и кликаешь на сабмит - изменяется урла.
      Например:
      Было вот так - http: // testsite / uncategorized / test-post-1 /
      А становится вот так - http: // testsite / uncategorized / test-post-1 / # comment-1428
      Или даже вот так: http: // testsite / uncategorized / test-post-1 /? Unapproved = 1246588 & moderation-hash = 40271ae6cdb307b9243b08107da795ae # comment-1246588
      Подскажите пожалуйста, что нужно сделать, чтобы урла текущей страницы никогда не менялась при комментировании.
      Там есть какое-то простое решение, или нужно аяксом это дело решать?
      Спасибо.
    • By Only091
      Помогите пожалуйста, не получается сделать постраничную навигацию. Делал все по урокам. в Итоге получилось сделать два разных каталога один с фильтрами другой с постраничной навигацией. И теперь я пытаюсь объединить два каталога. Но не получается. Сами файлы урока в архике каталог. Буду очень благодарен если мне помогут! catalog.phpcatalogDB.js
      каталог.7z
    • By stonelabs
      Всем привет!

      Наша компания (https://stone-labs.com/) ищет команды (!) разработчиков для реализации ряда заказных проектов. Местоположение не важно - мы практикуем удаленную работу.
       
      Обязательные требования:
      Laravel или Symfony frameworks jQuery (UI), JavaScript, Ajax, Bootstrap MySQL REST API, опыт внедрения Third-party APIs английский на уровне чтения и понимания технической документации опыт в разработке веб приложений и их архитектуры с нуля корректное использование git & pull request flow работа в дневное время во временной зоне UTC +3  
      Будет плюсом, если у вашей команды есть:
      опыт с GitLab CI/CD, Jenkins опыт с MySQL Cluster, MongoDB, PostgreSQL, Redis опыт с Vue.js опыт Linux администрирования, SSH, Nginx, DevOps  
      Если вам интересно сотрудничество, пожалуйста, пишите на наш ящик wanted@stone-labs.com 
    • By Defroing
      <form method="POST" action= "action_handler.php" id="form"> <section class="table_1"> <table class="iksweb"> <tbody> <tr> <td rowspan="3"><b>История компании «Mc donald's»</b> <h3 class="the">Кто основал компанию «Mc donald's»?</h3> <section class="conteiner"> <div class="checkbox"> <input type="checkbox" class="i-6" id="i6" value="0" name="formDoor[]"> <label for="i6" tabindex="12">Роналд Макдоналд</label> </div> <div class="checkbox"> <input type="checkbox" class="i-6" id="i7" value="0" name="formDoor[]"> <label for="i7" tabindex="13">Рэй Крок</label> </div> <div class="checkbox"> <input type="checkbox" class="i-6" id="checkbox_68" value="1" name="formDoor[]"> <label for="checkbox_68" tabindex="14">Братья Дик и Мак Макдоналд</label> </div> <div class="checkbox"> <input type="checkbox" class="i-6" id="checkbox_170" value="0" name="formDoor[]"> <label for="checkbox_170" tabindex="14">Клинт Иствуд</label> </div> <div class="out-block out-6"></div> </section> </td> </tr> </tbody> </table> <div class="dsw"> <button class="b-6" tabindex="11" id="btn-1" type="submit" name="formSubmit">Отправить</button> </div> </form> <?php mysql_connect("localhost", "root", ""); mysql_select_db('olala') or die(mysql_error()); if(isset($_GET['submit'])){ $arr=$_GET; foreach ($arr as $key => $value) { $reg="/^check/";//отбираю нужные элементы if( preg_match ($reg,$key )) { //$new_mass[]=$arr[$key]; //print_r($new_mass); echo $arr[$key]; $sql_1="INSERT INTO `table_one` (`name`) VALUES('$arr[$key]')"; mysql_query($sql_1) or die(mysql_error()); } } } ?>  Создаю опросник и хочу, чтобы чекбоксы заносились в БД(таблицу пока не создавал). Хотелось узнать на счёт php кода, сможете подсказать, что в нём не так (дать какие нибудь советы). В openserver опросник пока не выкладывал.
    • By seoww
      Доброго времени суток. Я не сильно знающий веб-разработчик, но учусь. Начал создавать интернет магазин. Написал код самого сайта, посмотрел видео как делаются интернет-магазины и теперь не могу разобраться с PhpMyAdmin. Я не понимаю как она взаимодействует с сайтом. В интернете погуглил, так ничего дельного найти и не смог. Помогите пожалуйста.
      P.S сильно в меня камни не кидайте, я только учусь 
      Всем добра!
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy