【发布时间】:2014-01-15 03:58:31
【问题描述】:
我不知道这样的问题是否已经被询问和回答,但无论我进行什么搜索查询,似乎都没有接近我想要做的事情。我正在开发一个用户将上传文件的项目。文件上传后,它将向用户显示成功消息以及一些文件信息。如果可能的话,我试图将所有内容都保存在一页内,但似乎无法使其正常工作。文件已上传,但信息未显示。
这是我正在使用的东西:
<?php
if(isset($_POST['uploadFile']) && isset($_FILES['file'])) {
move_uploaded_file($_FILES['file']['tmp_name'], "files/" . $_FILES['file']['name']);
$message = "\"" . $_FILES['file']['name'] . "\" uploaded successfully...";
}
?>
<html>
<head>
<title>Upload File</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
$(".uploaded-file-info").hide();
$(".uploadForm").submit(function() {
$(".upload-form").hide();
$(".uploaded-file-info").show();
});
});
</script>
</head>
<body>
<div class="upload-form">
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" class="uploadForm" >
<input type="file" name="file" /><br />
<input type="submit" name="uploadFile" value="Upload File" />
</form>
</div>
<div class="uploaded-file-info">
<p><?php echo $message; ?></p>
</div>
</body>
</html>
就像我说的,文件被上传,但表单并没有隐藏,文件信息 ($message) 也没有显示。有什么建议吗?
【问题讨论】:
-
我认为您在服务器端和客户端代码之间混淆了。当您提交表单时,页面将被刷新。如果您不希望表单再次显示,请不要在 PHP 中将其回显到浏览器。
标签: php jquery file-upload