我想回应"成功"在同一页面上,如果表格上传正确,表格是打开的,但我是php的新手,所以不知道它是如何完成的?
的index.php
<form action="upload" method="POST">
<input name="field1" placeholder="First name" type="text" />
<input type="submit" name="submit" value="Submit">
upload.php的
$content = "".$_POST["field1"];
$fp = fopen("upload/test.txt","wb");
fwrite($fp,$content);
fclose($fp);
我还需要它重定向回同一页面index.php
答案 0 :(得分:1)
使用常规表单帖子时,您无法执行此操作。当发布表单时,用户导航离开当前页面并由服务器给出新页面。他们所看到的那个不再存在,所以你不能注入信息。
如果您想按照描述执行任务,则需要使用基于AJAX的文件上传器。
请参阅:https://stackoverflow.com/search?q=php+jquery+ajax+upload
答案 1 :(得分:0)
$content = "".$_POST["field1"];
$fp = fopen("upload/test.txt","wb");
if (fwrite($fp,$content))
{
echo "Successful upload!";
} else {
echo "Not successful!";
};
fclose($fp);
答案 2 :(得分:0)
你需要使用一些javascript和php来获得你想要的东西。 ajax-file-upload-with-php-and-jquery
我没有尝试过,但乍一看看起来是一个很好的起点。
答案 3 :(得分:0)
如果您需要在同一页面上回显并且您不想使用ajax,则有两种可能的解决方案。
a)在上传脚本中使用GET参数,并在index.php上对此进行处理(As @Brad也在评论时说)
upload.php的
$content = "".$_POST["field1"];
$fp = fopen("upload/test.txt","wb");
fwrite($fp,$content);
fclose($fp);
header('Location: /index.php?m=success');
的index.php
//Check for message parameter
if (isset($_GET['m']{0}) && $_GET['m'] === 'success')
echo 'Form uploaded successfully';
//Display the upload form
echo '<form action="upload" method="POST">' .
'<input name="field1" placeholder="First name" type="text" />' .
'<input type="submit" name="submit" value="Submit">';
b)在同一个脚本中 的index.php
//Check if form is submitted
if (isset($_POST['field1']))
{
$content = "".$_POST["field1"];
$fp = fopen("upload/test.txt","wb");
fwrite($fp,$content);
fclose($fp);
//Do anything else
}
//Display form. Use index.php as the action, instead of upload
echo '<form action="/index.php" method="POST">' .
'<input name="field1" placeholder="First name" type="text" />' .
'<input type="submit" name="submit" value="Submit">';
评论后更新:
使用fopen函数打开文件时,可以定义2个参数。第一个参数是文件名,第二个参数是标志。
你需要'a'(追加)标志,而不是'w'(写):
看看here
答案 4 :(得分:0)
Try the following code
if (! move_uploaded_file ( $_FILES ['attachment'] ['tmp_name'], UPLOAD_DIR )) {
//handle if file not uploaded
header("Location:index.php?m=fail");
}else{
header("Location:index.php?m=success");
}