我收到此错误:
Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\Task2PHP\final\upload.php on line 205
我无法找到导致问题的原因,因为所有PHP块都是打开和关闭的
<?php
include("login.php");
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>FileStore - Upload Files</title>
<link rel="stylesheet" href="./CSS/style.css" type="text/css" media="screen, projection" />
</head>
<body>
<div id="wrapper">
<header id="header">
<div id="header-content">
<strong><h1>FileStore</h1></strong> Upload multiple files at once!
</div>
<div class="login-info" >
<?php
if ($isLoggedin === false) {
echo ' <form action="" method="POST">
Username: <input name="username" >
Password: <input type="password" name="password" size="8">
<input type="submit" name="submit" value="Login">
</form>';
echo "<p align='right'>You are not logged in.</p>";
echo "<b><a href='registration.php'>Register</a></b>";
}else{
echo $welcomeMsg;
}
?>
</div>
</header><!-- #header-->
<section id="middle" align="center">
<div id="container">
<br><br>
<div id="content">
<strong><h1>Upload files</h1></strong><br><br>
<div id="upload-file" >
<?php
include("dbConfig.php");
$Username = $_SESSION["username"];
global $userid;
$Password = $_SESSION["password"];
$Password = md5($Password);
$sql = "SELECT UserID FROM users WHERE Username = '".$Username."'";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
$userid = $row['UserID'];
}
echo $userid;
$dirname = (string)$userid;
$filename = ("/folder/" . "$dirname" . "/");
if (!file_exists($filename))
{
mkdir("files/$dirname", 0777);
if (isset($_FILES['files'])) {
echo "<div id='files_table'><table class='center'.><tr><td>";
$dest = ("files/" . $dirname . "{$_FILES['files']['name'][$key]}");
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){
move_uploaded_file($tmp_name, $dest );
echo $_FILES['files']['name'][$key], " uploaded.", "<br>";
}
} else {
if (isset($_FILES['files'])) {
echo "<div id='files_table'><table class='center'.><tr><td>";
$dest = ("files/" . $dirname . "{$_FILES['files']['name'][$key]}");
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){
move_uploaded_file($tmp_name, $dest );
echo $_FILES['files']['name'][$key], " uploaded.", "<br>";
}
echo "</td></tr></table></div><br><br>";
}
// }
// if (isset($_FILES['files'])) {
// echo "<div id='files_table'><table class='center'.><tr><td>";
// foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){
// move_uploaded_file($tmp_name, "files/'".$userid."'{$_FILES['files']['name'][$key]}");
// echo $_FILES['files']['name'][$key], " uploaded.", "<br>";
// }
// echo "</td></tr></table></div><br><br>";
// }
?>
<form action="" method="post" enctype="multipart/form-data">
<h1> Select files to upload:</h1>
<br>
<p>
<input type="file" name ="files[]" multiple min="1" />
<input type="submit" value="Upload" />
</p>
<br>
<h2> You can select multiple files for upload. </h2>
</form>
</div>
</div><!-- #content-->
</div><!-- #container-->
<aside id="sideLeft">
<div id="menu-x" align="center"><br>
<strong>Menu</strong><br><br>
<div class="menu">
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="upload.php">Upload</a></li>
<li><a href="files.php">Files</a></li>
<li><a href="about.php">About</a></li>
<li><a href="help.php">Help</a></li>
<li><a href="#">Logout</a></li>
</ul>
<br style="clear:left"/>
</div>
</div>
</aside><!-- #sideLeft -->
</section><!-- #middle-->
<footer id="footer">
<strong>FileStore:</strong> A CMT 3315 Project by Brian Livori
</footer><!-- #footer -->
</div><!-- #wrapper -->
</body>
</html>
另外,我正在尝试使用mkdir创建链接到用户的UserID(MySQL)的目录。该目录已创建,但文件未上载到新目录中。
请帮忙吗?
答案 0 :(得分:1)
您的上一个else
块未关闭(结束括号已注释掉):
else {
if (isset($_FILES['files'])) {
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){
}
echo "</td></tr></table></div><br><br>";
}
正确格式化代码,您会看到此问题。
答案 1 :(得分:0)
您有一个未公开的{
导致此错误。如果您正确缩进代码,则不会发生这种情况。