【问题标题】:Import excel file through php into mysql database通过php将excel文件导入mysql数据库
【发布时间】:2010-10-31 16:06:36
【问题描述】:

我遇到了一个关于通过 php 将 excel 文件导入 mysql 的问题。 我使用 phptriad 作为本地服务器来测试我的 Web 应用程序(站点)。 该应用程序导入客户端计算机上存在的 excel 文件。 通过本地服务器访问时,代码运行良好。

最近我在 orgfree.com 注册了一个子域。 我已将所有应用程序文件上传到该站点。 但“导入 excel 文件”功能不起作用。 它显示“文件 D:\test.xls 不可读”错误(test.xls 在我的笔记本电脑上)。

有什么办法可以解决这个问题?请帮忙

这里是代码

require_once 'reader.php';
$excelrow=0;$excelcol=0;                    
function parseExcel($excel_file_name_with_path)
{
    global $excelrow,$excelcol;
    $data = new Spreadsheet_Excel_Reader();
    // Set output Encoding.
    $data->setOutputEncoding('CP1251');
    $data->read($excel_file_name_with_path);
    $colname=array('id','name');                    
    for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++)
        {
            for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++)
            {
              $product[$i-1][$j-1]=$data->sheets[0]['cells'][$i][$j];
              $product[$i-1][$colname[$j-1]]=$data->sheets[0]['cells'][$i][$j];
            }
        }
    $excelrow=$i;$excelcol=$j;
    return $product;
}
$data=parseExcel($file);

for($i=0;$i<$excelrow-1;$i++)
{
    for($j=0;$j<$excelcol-1;$j++)
    {
        $fname=ucfirst(strtolower($data[$i][0]));
        $lname=ucfirst(strtolower($data[$i][1]));
        $gender=ucfirst(strtolower($data[$i][2]));
        $phoneno=$data[$i][3];
            $email=strtolower($data[$i][4]);                            
        $occup=ucfirst(strtolower($data[$i][5]));
        $city=ucfirst(strtolower($data[$i][6]));                
    }
        //THEN INSERT INTO DATABASE THROUGH SQL QUERIES                     
}

注意:应用程序只有一个用户,即管理员。

【问题讨论】:

  • 你有正确的文件权限吗?
  • 好吧,只要您不显示一些代码,这个问题就完全无法回答。尽管如此,“D:\test.xls”听起来像是您的文件上传正在访问 FILES 数组中的 name 参数,而不是 tmp_name
  • 对不起,什么是'name'参数和'tmp_name'参数?
  • 请注意:我使用的是我下载的excel阅读器文件。
  • @PVB 正如我所说,您需要显示一些代码才能获得答案

标签: php mysql excel


【解决方案1】:

您的问题可能是在远程服务器上运行脚本时,您将无法再访问本地文件。当服务器在本地计算机上运行时,这恰好起作用,但远程服务器无法查看您计算机的文件。

您必须添加一个上传工具。 PHP manual on file uploads.

中概述了一个基本示例

或者,如果您只想将其用于您自己而不是作为公共服务,您也可以使用 FTP 将每个 Excel 文件上传到远程服务器,并相应地更改路径以匹配新位置。

【讨论】:

    猜你喜欢
    • 2011-01-12
    • 2014-04-11
    • 2014-03-24
    • 2013-04-23
    • 1970-01-01
    • 2014-08-18
    • 2010-11-21
    • 1970-01-01
    相关资源
    最近更新 更多