Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php将excel文件导入mysql数据库?_Php_Mysql_Excel - Fatal编程技术网

如何使用php将excel文件导入mysql数据库?

如何使用php将excel文件导入mysql数据库?,php,mysql,excel,Php,Mysql,Excel,我想把用户数据上传到mysql数据库。为此,我想使用php将excel数据导入mysql数据库。我已经写了代码。但我面临一个错误。我提供我的代码供参考。我的代码如下 include 'config.php'; require_once 'Excel/reader.php'; $allowedExts = array("xls","xlsx"); $temp = explode(".", $_FILES["file"]["name"]); if (($_FILES["file"]["size

我想把用户数据上传到mysql数据库。为此,我想使用php将excel数据导入mysql数据库。我已经写了代码。但我面临一个错误。我提供我的代码供参考。我的代码如下

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


if (($_FILES["file"]["size"] < 20000)&& (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"];

         //////////////////////////   
            $row=0;
        $handle = fopen($filetemp, "r");

        $data = new Spreadsheet_Excel_Reader();
                $data->read($filetemp);
我在屏幕上显示了这个错误: php28E.tmp不可读

请帮我回答这个问题。

PHP手册上说():

默认情况下,文件将存储在服务器的默认临时目录中,除非php.ini中的upload_tmp_dir指令提供了另一个位置

[……]

无论逻辑如何,您都应该从临时目录中删除该文件或将其移动到其他位置

[……]


在使用上载的文件之前,应使用移动该文件

您可以改用phpexcel,它可以完美地工作,还支持各种电子表格格式,并且有很好的文档记录。 下载地址为。 谷歌上有很多提示和教程

此代码适用于我:

<?php
$newPath = __DIR__.'/'.basename($_FILES['filepath']['tmp_name']);
move_uploaded_file($_FILES['filepath']['tmp_name'], $newPath);
$objPHPExcel = PHPExcel_IOFactory::load($newPath);
............................

该文件实际上是BIFF或OfficeOpenXML格式的Excel文件,还是具有xls扩展名的CSV文件?在上面的行中打开该文件是否会阻止电子表格\u Excel\u阅读器读取该文件本身?你为什么要打开它?如果你移动你上传的文件并给它一个xls扩展名,那么电子表格\u Excel\u Reader真的可以读取文件吗?@Mark Baker我需要导入的文件是纯Excel文件,不是存储在Excel中的CSV文件。对不起,你的问题是关于上传文件。。。但我认为PhpExcel是管理excel文件的更好的解决方案…谁提出了错误?PHP或您的excel库,可能是您的上载代码没问题,问题是您的excel库无法正确读取excel格式,或者您的apache服务器需要文件权限……是的,是的,您是对的。我的问题是excel库。你能给我提供使用php将excel导入mysql的教程链接吗。请告诉我这很紧急。
<?php
$newPath = __DIR__.'/'.basename($_FILES['filepath']['tmp_name']);
move_uploaded_file($_FILES['filepath']['tmp_name'], $newPath);
$objPHPExcel = PHPExcel_IOFactory::load($newPath);
............................