gpt4 book ai didi

php - 我想使用php将excel数据导入mysql

转载 作者:行者123 更新时间:2023-11-30 00:23:56 35 4
gpt4 key购买 nike

我想使用php将excel数据导入mysql。如果我将 excel 文件的路径写为硬编码,我的程序可以正常工作,不会出现任何错误。但是,如果我当时尝试使用上传功能来使用它,我将面临一个错误。我的错误如下。 :

文件名 C:\wamp\tmp\php1FC.tmp 不可读

我还提供了我的代码供引用:

include 'config.php'; 
require_once 'Excel/reader.php';
$allowedExts = array("xls","xlsx");
$temp = explode(".", $_FILES["file"]["name"]);

if (in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
$filename=$_FILES["file"]["name"] ;
$filetype=$_FILES["file"]["type"] ;
$filesize=$_FILES["file"]["size"] ;
$filetemp=$_FILES["file"]["tmp_name"];


if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}

$handle = fopen($filetemp, "r");

$data = new Spreadsheet_Excel_Reader();
$data->read($filetemp);
$numr=$data->sheets[0]['numRows'];
for ($i = 2; $i <= $numr ; $i++)
{
$gender=$data->sheets[0]['cells'][$i][1];
$txtname=$data->sheets[0]['cells'][$i][2];
$txtusername = $data->sheets[0]['cells'][$i][3];
$txtphone=$data->sheets[0]['cells'][$i][4];
$txtlandno=$data->sheets[0]['cells'][$i][5];
$txtwing=$data->sheets[0]['cells'][$i][6];
$txtemail=$data->sheets[0]['cells'][$i][7];
$txtflat=$data->sheets[0]['cells'][$i][8];
$intercom=$data->sheets[0]['cells'][$i][9];
$userstatus=$data->sheets[0]['cells'][$i][10];
$livestatus=$data->sheets[0]['cells'][$i][11];
$flattype=$data->sheets[0]['cells'][$i][12];
$area1=$data->sheets[0]['cells'][$i][13];
$txtbuilding=$data->sheets[0]['cells'][$i][14];
$housingloan=$data->sheets[0]['cells'][$i][15];
$txtparking=$data->sheets[0]['cells'][$i][16];
$principalopBal=$data->sheets[0]['cells'][$i][17];
$interestBal=$data->sheets[0]['cells'][$i][18];
$servicetax=$data->sheets[0]['cells'][$i][19];

$txtgym=$data->sheets[0]['cells'][$i][20];
$txtcable=$data->sheets[0]['cells'][$i][21];
$txtswim=$data->sheets[0]['cells'][$i][22];
$txtclub=$data->sheets[0]['cells'][$i][23];
$unittype=$data->sheets[0]['cells'][$i][24];

我不明白问题出在哪里。我想执行此导入 Excel 数据的功能。我希望用户可以为此上传自己的 Excel 文件。所以请帮我解决这个问题。

最佳答案

您尝试打开在调用 move_uploaded_file 后不再存在的临时文件。

move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);

您需要打开“上传/”。 $_FILES["文件"]["名称"]。 (为什么不使用您创建的$filename?)

此外,您将不存在的相同文件名传递给 $data->read(),那为什么还要创建处理程序呢? $data->read() 应该使用 $handle 还是 $filename ?也检查一下。

<小时/>

为了添加另一个选项,MySQL 有一个简洁的 Excel 工具/插件,可以将表直接连接到名为 MySQL for Excel 的文件。

更多信息:http://dev.mysql.com/doc/refman/5.7/en/mysql-for-excel.html

关于php - 我想使用php将excel数据导入mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23026823/

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