我遇到了一个关于通过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。
答案 0 :(得分:1)
您的问题可能是在远程服务器上运行脚本时,您将无法再访问本地文件。当服务器在本地计算机上运行时,这恰好起作用,但远程服务器无法看到计算机的文件。
您必须添加上传工具。 PHP manual on file uploads.
中概述了一个基本的例子或者,如果您只想为自己而不是公共服务使用此功能,您还可以使用FTP将每个Excel文件上传到远程服务器,并相应地更改路径以匹配新位置。