javascript - 无法将php中的excel文件上传到mysql数据库
问题描述
我一直在尝试在 php 文件中构建一个部分,从中我可以将 excel 文件上传到数据库。我完成了所有的编码部分,但它不起作用。数据没有上传。所以请帮助我。
这是我的代码
这是我将使用 enctype="multipart/form-data" 上传 excel 文件的 html 部分:
<div class="panel panel-primary">
<div class="panel-body">
<form method="POST" action="uploads.php?y='.$y.'&m='.$m.'" style="margin-left: 100px;" enctype="multipart/form-data">
<label for="fileToUpload">Select file to upload:
<br/> <small style="color: red;">*Please attach only .xls & .xlsx files.
</small>
</label>
<input class="form-control" type="file" name="fileToUpload" id="fileToUpload" style="width:300px; align: center;">
<br/>
<input class="btn btn-sm btn-info" type="submit" value="Upload File" name="submit">
</form>
</div>
</div>
PHP 文件 uploads.php :
然后将excel文件的数据发送到php文件以上传到数据库中,但这不起作用。
require_once('vendor/php-excel-reader/excel_reader2.php');
require_once('vendor/SpreadsheetReader.php');
$y=$_GET['y'];
$m=$_GET['m'];
$year=$y.'_'.$m;
if (isset($_POST["submit"])){
$allowedFileType = ['application/vnd.ms-excel','text/xls','text/xlsx','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'];
if(in_array($_FILES["file"]["type"],$allowedFileType))
{
$targetPath = 'uploads/'.$_FILES['file']['name'];
move_uploaded_file($_FILES['file']['tmp_name'], $targetPath);
$Reader = new SpreadsheetReader($targetPath);
$sheetCount = count($Reader->sheets());
for($i=0;$i<$sheetCount;$i++)
{
$Reader->ChangeSheet($i);
foreach ($Reader as $Row) {
$date = "";
if(isset($Row[0])) {
$date = mysqli_real_escape_string($con,$Row[0]);
}
$janmin = "";
if(isset($Row[1])) {
$janmin = mysqli_real_escape_string($con,$Row[1]);
}
$janmax = "";
if(isset($Row[2])) {
$janmax = mysqli_real_escape_string($con,$Row[2]);
}
$febmin = "";
if(isset($Row[3])) {
$febmin = mysqli_real_escape_string($con,$Row[3]);
}
$febmax = "";
if(isset($Row[4])) {
$febmax = mysqli_real_escape_string($con,$Row[4]);
}
$marmin = "";
if(isset($Row[5])) {
$marmin = mysqli_real_escape_string($con,$Row[5]);
}
$marmax = "";
if(isset($Row[6])) {
$marmax = mysqli_real_escape_string($con,$Row[6]);
}
$aprmin = "";
if(isset($Row[7])) {
$aprmin = mysqli_real_escape_string($con,$Row[7]);
}
$aprmax = "";
if(isset($Row[8])) {
$aprmax = mysqli_real_escape_string($con,$Row[8]);
}
$maymin = "";
if(isset($Row[9])) {
$maymin = mysqli_real_escape_string($con,$Row[9]);
}
$maymax = "";
if(isset($Row[10])) {
$maymax = mysqli_real_escape_string($con,$Row[10]);
}
$junemin = "";
if(isset($Row[11])) {
$junemin = mysqli_real_escape_string($con,$Row[11]);
}
$junemax = "";
if(isset($Row[12])) {
$junemax = mysqli_real_escape_string($con,$Row[12]);
}
$julymin = "";
if(isset($Row[13])) {
$julymin = mysqli_real_escape_string($con,$Row[13]);
}
$julymax = "";
if(isset($Row[14])) {
$julymax = mysqli_real_escape_string($con,$Row[14]);
}
$augmin = "";
if(isset($Row[15])) {
$augmin = mysqli_real_escape_string($con,$Row[15]);
}
$augmax = "";
if(isset($Row[16])) {
$augmax = mysqli_real_escape_string($con,$Row[16]);
}
$sepmin = "";
if(isset($Row[17])) {
$sepmin = mysqli_real_escape_string($con,$Row[17]);
}
$sepmax = "";
if(isset($Row[18])) {
$sepmax = mysqli_real_escape_string($con,$Row[18]);
}
$octmin = "";
if(isset($Row[19])) {
$octmin = mysqli_real_escape_string($con,$Row[19]);
}
$octmax = "";
if(isset($Row[20])) {
$octmax = mysqli_real_escape_string($con,$Row[20]);
}
$novmin = "";
if(isset($Row[21])) {
$novmin = mysqli_real_escape_string($con,$Row[21]);
}
$novmax = "";
if(isset($Row[22])) {
$novmax = mysqli_real_escape_string($con,$Row[22]);
}
$decmin = "";
if(isset($Row[23])) {
$decmin = mysqli_real_escape_string($con,$Row[23]);
}
$decmax = "";
if(isset($Row[24])) {
$decmax = mysqli_real_escape_string($con,$Row[24]);
}
if (!empty($date)) {
$query = "INSERT INTO `$year` (janmin,janmax,febmin,febmax,marmin,marmax,aprilmin,aprilmax,maymin,maymax,junemin,junemax,julymin,julymax,augmin,augmax,sepmin,sepmax,octmin,octmax,novmin,novmax,decmin,decmax,user_id,date)
VALUES ('$janmin','$janmax','$febmin','$febmax','$marmin','$marmax','$aprmin','$aprmax','$maymin','$maymax','$junemin','$junemax','$julymin','$julymax','$augmin','$augmax','$sepmin','$sepmax','$octmin','$octmax','$novmin','$novmax','$decmin','$decmax','$user_id','$date')";
$result = mysqli_query($con, $query);
if (! empty($result)) {
$type = "success";
$message = "Excel Data Imported into the Database";
echo $type.'<br />'.$message;
} else {
$type = "error";
$message = "Problem in Importing Excel Data";
echo $type.'<br />'.$message;
}
}
}
}
}
}
解决方案
推荐阅读
- css - 如何从元素中删除 box-sizing:border-box
- ruby-on-rails - 运行捆绑安装时导致未定义方法`dir_mode ='的原因
- angular - 使用 np 在 npm 中发布 Angular 9+ 库
- javascript - NuxtJs 没有将 prop 传递给子组件
- python - Python 3.6.4 ModuleNotFoundError:没有名为“wordcloud”的模块
- swift - 在闭包格式中使用变量的动机是什么?var foo: ((String) -> Void)?
- javascript - 如何关闭 React Bootstrap Carousel 的自动播放?
- java - 是否有查找组件布局位置的功能?
- node.js - 无法连接到 MongoClient
- eclipse - 如何在 Eclise 的非编辑器面板中更改选定项目的颜色?