Как мне использовать константу __DIR__? - PullRequest
0 голосов
/ 19 мая 2018

У меня проблема с пониманием того, как использовать DIR константа

Вот код файла main.php.Это хорошо работает

<?php
if(!isset($_POST['firstname'])){
    include __DIR__ .'/../../form.html.php';
}else {
    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];

    if ($firstname =='Kevin' && $lastname == 'Yank'){
    $output = 'Welcom, Oh glorious leader!';
} else {
    $output = 'Welcome to our website, ' .htmlspecialchars($firstname, ENT_QUOTES, 'UTF-8') .' ' . htmlspecialchars($lastname, ENT_QUOTES, 'UTF-8') . '!';

}

include __DIR__ .'/../welcome.html.php';
}
?>

Вот код для form.html.php

<!DOCTYPE html>
<html>
 <head>
  <title> Enter your name </title>
  <link rel="stylesheet" href="form.css" />
  <meta charset="utf-8">

 </head>

 <body>
  <form method="POST" action="">
   <label for="firstname">First name:</label>
    <input type="text" name="firstname"id="firstname" />

    <label for="lastname">Last name:</label>
    <input type="text" name="lastname"id="lastname" />

    <input type="submit" value="GO">
</form>
 </body>
</html>

Вот код для welcome.html.php

<!DOCTYPE html>
<html>
 <head>
  <title> Form Example </title>
  <meta charset=""utf-8">
</head>

 <body>
    <p><?php echo $output;?></p>
 </body>
</html>

Если я правильно понимаю, DIR «знает», где находится включающий файл, так что, если я переместу файл в новый каталог, он будет работать без обновления кода.Тем не менее, когда я создал новый каталог, я вырезал и вставил туда файл.Я не работал

Я получил эти сообщения:

Предупреждение: include (C: \ wamp \ www \ PracticePhP \ templates \ PHPPRA \ STILL /../../form.html.php): не удалось открыть поток: нет такого файла или каталога в C: \ wamp \ www \ PracticePhP \ templates \ PHPPRA \ STILL \ main.php в строке 3

И

Предупреждение: include (): не удалось открыть 'C: \ wamp \ www \ PracticePhP \ templates \ PHPPRA \ STILL /../../ form.html.php' для включения (include_path = '.; C: \ php \ pear ') в C: \ wamp \ www \ PracticePhP \ templates \ PHPPRA \ STILL \ main.php в строке 3

В строке 3 находится первое включение.

Я работаю на Wamp дома.Это не проблема pesmissions Как воспользоваться __DIR__ constant, если он не работает, когда я перемещаю включаемый файл в новый каталог?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...