用学籍姓名批量重命名照片
发表于2021-06-08 06:06:32阅读26491次
在学籍平台上导出的学籍照片,是以学籍号命名的。需要把这些照片以姓名重命名。
获取学籍姓名和学籍号一一对应关系
新建一个文件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)