用学籍姓名批量重命名照片
发表于2021-06-08 06:06:32阅读37323次
在学籍平台上导出的学籍照片,是以学籍号命名的。需要把这些照片以姓名重命名。

获取学籍姓名和学籍号一一对应关系
新建一个文件index.html用来上传学籍表
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>获取文件新的名称列表</title> </head> <body> <form action="./admin.php" method="post" enctype="multipart/form-data" > <label> <p>请确定你要上传的excel表格中,只有一列信息,如下入所示:</p> </label> <label> <input type="file" name="file" id="file" class="fileContainer"> </label> <input type="submit" name="submit" value="提交"> </form> </body> </html>

admin.php接收处理学籍的信息
<?php
require '../../vendor/autoload.php';
use PhpOfficePhpSpreadsheetSpreadsheet;
use PhpOfficePhpSpreadsheetWriterXlsx;
if(!@$_FILES['file']['tmp_name'])
die('<a herf="history.go(-1)" style="padding-left:30px;"><h1>可能没有上传excel文件!</h1></a>');
$spreadsheet= PhpOfficePhpSpreadsheetIOFactory::load($_FILES['file']['tmp_name']);
$data = $spreadsheet->getActiveSheet()->toArray(null,true,true,true);
//去掉第一组数据(这一行一般是列名)
array_shift($data);
//“列”数
$excelFieldsNum = sizeof($data[0]);
//行数
$excelLinesNum = sizeof($data);
//限定excel中只有学籍号和姓名两列,可以优化
if($excelFieldsNum!=2){
die('你提交的数据表含有的列数不是两列!');
}
//可以看看数据怎么样
//var_dump($data);
接收到的数组如下

今天先写到这里,明天继续更新(2021年6月8日 18:27)