通过php将excel文件导入mysql数据库

时间:2010-10-31 16:06:36

标签: php mysql excel

我遇到了一个关于通过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                     
}

注意:应用程序只有一个用户,即Administrator。

1 个答案:

答案 0 :(得分:1)

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

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

中概述了一个基本的例子

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