我如何使用__DIR__常量?

时间:2018-05-19 14:24:36

标签: php directory

我在理解如何使用 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 “知道”包含文件的位置,这样如果我将文件移动到新目录,它应该可以在不更新代码的情况下工作。 然而,当我创建一个新目录时,我将文件剪切并粘贴在那里。我没工作

我收到了这些消息:

  

警告:   包括(C:\瓦帕\ WWW \ PracticePhP \模板\ PHPPRA \ STILL /../../ form.html.php):   无法打开流:没有这样的文件或目录   第3行的C:\ wamp \ www \ PracticePhP \ templates \ PHPPRA \ STILL \ main.php

  

警告:include():打开失败   'C:\ WAMP \ WWW \ PracticePhP \模板\ PHPPRA \ STILL /../../ form.html.php'   包含(include_path ='。; C:\ php \ pear')in   第3行的C:\ wamp \ www \ PracticePhP \ templates \ PHPPRA \ STILL \ main.php

第3行是第1行包含的地方。

我在家里工作。 这不是一个问题 如果将包含文件移动到新目录时无法正常工作,我如何利用__DIR__ constant

0 个答案:

没有答案