赞
踩
更名后的itemno1文件
- <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8'); ?>" method="post" enctype="multipart/form-data">
- <input type="hidden" name="FormID" value="<?php echo $_SESSION['FormID']; ?>">
- <input type="file" name="folderArchive[]" accept=".zip" multiple>
- <input type="submit" value="上传" name="update">
- </form>
-
- <?php
- $target_dir = "ItemNo/";
- $now = date('YmdHis'); // 获取当前日期时间
- $itemNo = pathinfo($target_path, PATHINFO_DIRNAME); // 获取料号,假设料号是文件夹名
- $counter = 1; // 初始化序号计数器
- if (isset($_POST['update'])) {
- if (isset($_FILES['folderArchive']) && !empty($_FILES['folderArchive']['name'])) {
- $zip_files = $_FILES['folderArchive'];
- foreach ($zip_files['name'] as $key => $file_name) {
- if ($zip_files['error'][$key] === UPLOAD_ERR_OK) {
- $temp_file = $zip_files['tmp_name'][$key];
- $target_path = $target_dir . basename($file_name);
- // 将临时文件移动到服务器上的适当位置(如果需要)
- move_uploaded_file($temp_file, $target_path);
- // 创建一个新的 ZipArchive 对象
- $zip = new ZipArchive;
- // 打开zip文件
- if ($zip->open($target_path) === TRUE) {
- // 解压缩到指定的目录
- $zip->extractTo($target_dir);
- $zip->close();
- prnMsg(sprintf(_('文件 "%s" 已成功上传成功.'), $file_name), 'success');
- } else {
- prnMsg(sprintf(_('文件 "%s" 上传成功但无法解压.'), $file_name), 'error');
- }
- } else {
- prnMsg(sprintf(_('文件 "%s" 上传失败.'), $file_name), 'error');
- }
- //文件命名
- if ($zip->open($target_path) === TRUE) {
- $zip->extractTo($target_dir);
- $zip->close();
- // 获取解压后每个料号(子文件夹)的路径
- $subDirs = glob($target_dir . '*', GLOB_ONLYDIR);
- foreach ($subDirs as $subDir) {
- // 获取料号名称
- $itemNo = basename($subDir);
- // 获取子文件夹中的所有文件
- $filesInSubDir = glob($subDir . '/*');
- $counter = 1; // 每个料号内部初始化序号计数器
- foreach ($filesInSubDir as $file) {
- // 跳过目录
- if (is_dir($file)) continue;
- // 修改日期格式为年月日
- $dateForFilename = date('Ymd', strtotime($now));
- // 构建新的文件名
- $newFileName = $itemNo . '_' . $dateForFilename . '_' . sprintf('%04d', $counter++) . '.' . pathinfo($file, PATHINFO_EXTENSION);
- // 重命名文件
- rename($file, $subDir . '/' . $newFileName);
- // prnMsg(sprintf(_('文件 "%s" 在料号 "%s" 下已成功上传并重命名为 "%s".'), basename($file), $itemNo, $newFileName), 'success');
- }
- }
- } else {
- prnMsg(_('命名出错'), 'error');
- }
- }
- // 解压缩和重命名完成后删除原始压缩文件
- unlink($target_path);
- } else {
- prnMsg(_('附件上传失败!'), 'error');
- }
- unset($_POST['update']);
- }
- ?>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。