[英]importing excel file in php
朋友,我已经知道如何通过php上传.csv文件格式。 但是现在我需要知道如何在php中上传.xls文件。 我尝试过此代码,但无法正常工作..任何人都可以为我提供建议吗?
if ($_POST['frmSubmit']) {
$file = $_FILES['frmUpload']['name'];
if ($file) {
$data = new Spreadsheet_Excel_Reader();
$data->read('name'.$file);
for ($k = 1; $k < count($strDatas->sheets[0]['numRows']); $k++) {
$name = $data->sheets[0]['cells'][$k][1];
$code = $data->sheets[0]['cells'][$k][2];
$email = $data->sheets[0]['cells'][$k][3];
$designation = $data->sheets[0]['cells'][$k][4];
$number = $data->sheets[0]['cells'][$k][5];
$salary = $data->sheets[0]['cells'][$k][6];
$age = $data->sheets[0]['cells'][$k][7];
doInsertEmployeeDetails($name, $code, $email, $designation, $number, $salary, $age);
}
} else {
$strMessage = 'Please upload a valid file.';
$strClass = 'Error';
}
}
文件上传是文件上传。 不管是.txt,.jpg,.exe还是.foobarbaz。 PHP不在乎。
您做错了什么,就是为该文件组成一个完全假的名称,并以某种方式期望PHP神奇地解决该问题。
您需要先确认上载实际发生,并成功
if ($_FILES['frmUpload']['error'] !== UPLOAD_ERR_OK) {
die("File upload failed with error code #" . $_FILES['frmUpload']['error']);
}
然后只使用PHP分配的标准临时文件名,而不使用客户端上存在的完全含义的文件名:
$data->read($_FILES['frmUpload']['tmp_name']);
当然,您应该检查该上传文件是否确实是excel文件,而不是完全不同的文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.