我有这个检查安装索引页面,如果存在某个文件,则显示登录表单,并且不显示登录表单,只显示安装页面..我不知道为什么因为如果你点击安装就赢了“ t让你,因为文件存在?
<?php
ini_set('zlib.output_compression', 4096);
ob_implicit_flush(true);
//Load & Auth Setup
$int = '/core/config/int.php';
if (file_exists($int)) {
echo'
<html>
<head>
<meta name="description" content="">
<meta name="keywords" content="">
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css">
<title>Welcome</title>
</head>
<style>
#wrapper {
width: 500px;
margin: 0 auto;
margin-top:200px;
}
</style>
<body>
<div id="wrapper">
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputEmail3" placeholder="Email">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="inputPassword3" placeholder="Password">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox"> Remember me
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Sign in</button>
</div>
</div>
</form>
</body>
</html>';
} else {
echo'
<head>
<meta name="description" content="">
<meta name="keywords" content="">
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css">
<title>Install</title>
</head>
<style>
#wrapper {
width: 500px;
margin: 0 auto;
margin-top:200px;
}
</style>
<body>
<div id="wrapper">
<h2>
<small>
Not complete
</small>
</h2>
<p>
<p>
<p>Get setup in minutes! Enjoy the super easy installation wizard to walk you through the setup process.</p>
<p>Start your installation by clicking the button below!</p>
</p>
<p>
<a href="install/">
Install
</a>
</p>';
}
?>
答案 0 :(得分:1)
小心!
file_exists
函数在OS范围内工作,而不是http范围。因此,如果您通过/int
,它实际上会在您的操作系统计算机的根目录中搜索名为int
的文件夹,而不是您的网络服务器。
使用此:
$int = __DIR__ . '/core/config/int.php';
__DIR__
输出当前目录,我想与/core/config/int.php
连接会找到它。如果你有PHP 5.3,请使用它。或更多。
答案 1 :(得分:0)
检查文件上的file_exists时,检查Web服务器上是否存在一些奇怪的权限问题。
最好使用绝对路径而不是相对于此并启用error_reporting和display_errors,这样你就可以更快地找到问题的根源。