正在使用表单上传文件。
表单在index.html中,看起来像:
<div id="submit">
<form action="upload.php" method="post" enctype="multipart/form-data">
Select XML file: <input type="file" name="file"><br><br>
<input type="submit" value="Upload">
</form>
</div><!--end submit-->
upload.php文件如下所示:
<?php
move_uploaded_file ($_FILES['file'] ['tmp_name'], "uploads/{$_FILES['file'] ['name']}");
header('Location: index.html');
exit; ?>
文件上传到正确的位置,但是,我需要一种方法来提醒用户上传成功。有人能在这方面提供一些帮助吗?
你试试这个
<?php
if(move_uploaded_file ($_FILES['file'] ['tmp_name'], "uploads/{$_FILES['file'] ['name']}"))
{
echo "file uploaded";
header( "refresh:5;url=index.html" );
exit;
}
else
{
echo "file not uploaded";
header( "refresh:5;url=index.html" );
exit;
}
?>
header
中的将在5秒内将您重定向到index.html
最简单的方法(如果您希望保持重定向)是将index.html更改为index.php,然后使用头函数,向URL index.php?uploaded=1
添加get参数。然后在index。php页面中,像这样检查参数
if (isset($_GET['uploaded']) && $_GET['uploaded'] === 1) echo "Your upload/move was successful!";
我建议考虑在PHP中实现flash消息。基本上,将消息存储在会话中并将其显示给用户。
这里有使用第三方代码的示例。或者,您也可以推出自己的实现。这里有一个非常非常简单的例子。
基于GET参数显示消息是有效的,但它可能会变得混乱,因为只需点击一个特定的URL就会将消息显示给用户。
下面是我很久以前用过的一些函数(设置和打印会话消息)。我强烈建议在使用 之前查看链接:function set_session_message($type, $message) {
$_SESSION['message'] = array('type' => $type, 'message' => $message);
}
function print_session_message() {
$output = '';
if (!empty($_SESSION['message'])) {
if ($_SESSION['message']['type'] == 'success') {
$output = '<p class="success">' . $_SESSION['message']['message'] . '</p>';
} elseif ($_SESSION['message']['type'] == 'error') {
$output = '<p class="error">' . $_SESSION['message']['message'] . '</p>';
}
}
unset($_SESSION['message']);
return $output;
}
有了这个,你要做的是在成功上传时调用set_session_message()
,重定向到你的索引页,然后调用print_session_message()
。