【发布时间】: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 正如我所说,您需要显示一些代码才能获得答案