PHP读取Input:file()传过来的excel问
时间: 2024-09-25 07:10:56 浏览: 35
当你在PHP中使用`$_FILES['file']`来接收用户通过`<input type="file">`上传的Excel文件时,首先你需要检查文件是否成功上传并且确实是Excel文件(`.xls`或`.xlsx`)。下面是一个基本的步骤:
1. 检查文件上传状态:
```php
if(isset($_FILES['file']) && $_FILES['file']['error'] == UPLOAD_ERR_OK) {
$fileName = $_FILES['file']['name'];
$fileTmpName = $_FILES['file']['tmp_name'];
}
```
2. 确定文件类型并使用适当的库处理:
```php
$allowedTypes = ['application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']; // Excel文件类型
$fileType = pathinfo($fileName, PATHINFO_EXTENSION);
if(in_array($fileType, $allowedTypes)) {
// 使用PHPExcel库(已弃用,推荐使用SpreadsheetReader)
require 'PHPExcel.php';
$objPHPExcel = PHPExcel_IOFactory::load($fileTmpName);
// 或者使用PHPOffice/PhpSpreadsheet(现代选择)
use PhpOffice\PhpSpreadsheet\IOFactory;
$spreadsheet = IOFactory::load($fileTmpName);
} else {
echo "错误:这不是一个有效的Excel文件.";
}
```
3. 接下来,你可以对加载的Excel文件进行读取操作,比如获取单元格数据、遍历工作表等。
阅读全文