gpt4 book ai didi

php - 如何在php中上传Excel文件并将该文件中的数据同时插入数据库?

转载 作者:行者123 更新时间:2023-11-29 23:04:47 25 4
gpt4 key购买 nike

我创建了一个程序来上传 .xls 文件并将其存储到数据库中。我的问题是,当我为参数提供静态路径时,它可以正常工作并将数据插入数据库。但是当我动态获取文件名时,它会显示错误,例如.. 未定义索引:C:\wamp\www\FileUpload\newEmptyPHPWebPage.php 中的文件第 22 行文件名不可读

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
include 'db_connection.php';
include 'reader.php';
$excel = new Spreadsheet_Excel_Reader();
?>

<table border="1">
<?php
if(isset($_POST['submit'])){
$name = $_FILES["file"]["name"];
}

$excel->read($name);
$x=2;
while($x<=$excel->sheets[0]['numRows']) {
$Testcase_id = isset($excel->sheets[0]['cells'][$x][1]) ? $excel->sheets[0]['cells'][$x][1] : '';
$Testcase_title = isset($excel->sheets[0]['cells'][$x][2]) ? $excel->sheets[0]['cells'][$x][2] : '';
$Testsuite_id = isset($excel->sheets[0]['cells'][$x][3]) ? $excel->sheets[0]['cells'][$x][3] : '';
$Circle_id = isset($excel->sheets[0]['cells'][$x][4]) ? $excel->sheets[0]['cells'][$x][4] : '';
$Testcase_desc = isset($excel->sheets[0]['cells'][$x][5]) ? $excel->sheets[0]['cells'][$x][5] : '';
$Date_created = isset($excel->sheets[0]['cells'][$x][6]) ? $excel->sheets[0]['cells'][$x][6] : '';
$Created_by = isset($excel->sheets[0]['cells'][$x][7]) ? $excel->sheets[0]['cells'][$x][7] : '';
$Type = isset($excel->sheets[0]['cells'][$x][8]) ? $excel->sheets[0]['cells'][$x][8] : '';
$Priority = isset($excel->sheets[0]['cells'][$x][9]) ? $excel->sheets[0]['cells'][$x][9] : '';
$Precondition = isset($excel->sheets[0]['cells'][$x][10]) ? $excel->sheets[0]['cells'][$x][10] : '';
$Test_step = isset($excel->sheets[0]['cells'][$x][11]) ? $excel->sheets[0]['cells'][$x][11] : '';
$Expected_result = isset($excel->sheets[0]['cells'][$x][12]) ? $excel->sheets[0]['cells'][$x][12] : '';
$Request_mode = isset($excel->sheets[0]['cells'][$x][13]) ? $excel->sheets[0]['cells'][$x][13] : '';
$Language = isset($excel->sheets[0]['cells'][$x][14]) ? $excel->sheets[0]['cells'][$x][14] : '';
$Category = isset($excel->sheets[0]['cells'][$x][15]) ? $excel->sheets[0]['cells'][$x][15] : '';


// Save details
$sql_insert = "INSERT INTO test_case_master ".
"(Test_case_id , Test_case_title, Test_suite_id, Circle_id, Test_case_desc, Date_created,Created_by,type,priority,preconditions,Test_steps,Expected_results,Request_mode,Language,Category) ".
"VALUES('$Testcase_id' , '$Testcase_title', '$Testsuite_id', '$Circle_id', '$Testcase_desc', '$Date_created','$Created_by','$Type','$Priority','$Precondition','$Test_step','$Expected_result','$Request_mode','$Language','$Category')";
$result_insert = mysqli_query($conn,$sql_insert) or die(mysqli_error());

$x++;
}
?>
</table>
</body>
</html>

最佳答案

要使文件上传正常工作,需要记住一些事情。首先,您提交的表单需要具有 enctype="multipart/form-data"。否则 PHP 无法识别该文件。执行此操作后,未定义索引警告应该消失。其次,您需要将上传的文件从 PHP 上传的临时目录移动到可以访问该文件的目录。使用 move_uploaded_file() 来完成此任务(例如,请参阅 PHP 文档)。然后,您可以使用将其移入的目录及其名称来访问该文件。

关于php - 如何在php中上传Excel文件并将该文件中的数据同时插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28343528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com