我在理解如何使用 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
?