我得到了这个文件upload.html以下代码所在的位置,每次我浏览文件并在isset($ _ POST)提交失败。它回应“没有上传”,它在另一个文件夹中使用相同的文件正常工作。我所做的只是将整个网站文件夹内容移动到另一个文件夹,它停止工作。
<h3>File Upload:</h3>
Select a file to upload: <br />
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="file" size="50" />
<br />
<input type="submit" name="uploadxls" value="Upload File" />
</form>
<?php
include("../include/processxls.php");
date_default_timezone_set('America/Chicago');
if (isset($_POST['uploadxls']) && !empty($_POST['uploadxls']))
{
echo "test point";
uploadReport();
}
else
{
echo "didn't upload";
}
function uploadReport()
{
$report=basename($_FILES['file']['name']);
$report=str_replace(' ','|',$report);
$tmppath="uploads/".$report;
if(move_uploaded_file($_FILES['file']['tmp_name'],$tmppath))
{
echo " File upload success. Please wait while report is processed....... ";
processxls($tmppath);
}
else
{
echo "fail";
}
}
?>
答案 0 :(得分:0)
不同的浏览器会忽略提交按钮的值,并且不会使用POST
发送此数据使用隐藏的输入字段,然后无论浏览器如何都会提交。
<input type='hidden' name="uploadxls" value="Upload File">
答案 1 :(得分:0)
您应该使用$_SERVER['REQUEST_METHOD']
if( $_SERVER['REQUEST_METHOD'] === "POST" ) {
// Do checks and logic
}
这样您就不必担心浏览器发送提交按钮或使用隐藏值。 PHP有一个内置变量,也可以使用它。