| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412 |
- <?php
- namespace App\Console\Commands\Export;
- use Illuminate\Console\Command;
- class CreateFolderAndFileCommand extends Command
- {
- /**
- * The name and signature of the console command.
- *
- * @var string
- */
- protected $signature = 'create:folder_file';
- /**
- * The console command description.
- *
- * @var string
- */
- protected $description = '在指定目录下创建文件夹和文件';
- /**
- * Create a new command instance.
- *
- * @return void
- */
- public function __construct()
- {
- parent::__construct();
- }
- /**
- * Execute the console command.
- *
- * @return mixed
- */
- public function handle()
- {
- $directory = "E:\\美团数据抓取\\三九胃泰颗粒"; // 指定目录路径
- $this->createFileEx($directory);
- //$directory = "E:\\鸭题库数据初始化历年真题"; // 指定目录路径
- //$this->createFile($directory);
- //$this->deleteTxtFilesRecursively($directory);
- $directory = "E:\\鸭题库数据初始化考点_第二次\\中药二"; // 指定目录路径
- //$this->clearTxtFilesContent($directory);
- // $this->deleteTxtFilesRecursively($directory);
- $baseDirectory = "E:\\鸭题库数据\\中药二";
- $firstFolderName = [
- '第一节 中药药物警戒',
- '第二节 中药不良反应',
- '第三节 中药用药错误',
- '第四节 医疗用毒性中药的中毒反应和基本救治原则',
- ];
- //$this->createFirstFolder($firstFolderName, $baseDirectory);
- $firstAndSecondFolderNames = [
- [
- 'firstName' => '历年真题',
- 'secondNames' => [
- '2015',
- '2016',
- '2017',
- '2018',
- '2019',
- '2020',
- '2021',
- '2022-1',
- '2022-2',
- '2023',
- '2024',
- ]
- ],
- // [
- // 'firstName' => '第二章 处方审核与调剂',
- // 'secondNames' => []
- // ],
- // [
- // 'firstName' => '第三章 用药咨询与药物治疗管理',
- // 'secondNames' => [
- // '第一节 药学信息咨询服务',
- // '第二节 疾病管理与健康宣教',
- // '第三节 药物治疗管理',
- // '第四节 常用医学检查',
- // ]
- // ],
- // [
- // 'firstName' => '第四章 用药安全',
- // 'secondNames' => [
- // '第一节 药物警戒',
- // '第二节 药品不良反应',
- // '第三节 药源性疾病',
- // '第四节 用药错误',
- // '第五节 特殊人群用药'
- // ]
- // ],
- // [
- // 'firstName' => '第五章 急救、中毒解救及职业防护',
- // 'secondNames' => [
- // '第一节 急救的意义与原则',
- // '第二节 常见急症及处置',
- // '第三节 中毒解救',
- // '第四节 细胞毒性药物的职业防护'
- // ]
- // ],
- // [
- // 'firstName' => '第六章 常见病症的健康管理',
- // 'secondNames' => [
- // '第一节 发热',
- // '第二节 疼痛',
- // '第三节 咳嗽',
- // '第四节 感冒',
- // '第五节 急性扁桃体炎',
- // '第六节 鼻窦炎',
- // '第七节 过敏性鼻炎',
- // '第八节 急性气管-支气管炎',
- // '第九节 社区获得性肺炎',
- // '第十节 口腔溃疡',
- // '第十一节 消化不良',
- // '第十二节 胆石症与胆囊炎',
- // '第十三节 便秘',
- // '第十四节 腹泻',
- // '第十五节 痔疮',
- // '第十六节 阴道炎',
- // '第十七节 乳腺炎',
- // '第十八节 尿路感染',
- // '第十九节 男性性功能障碍',
- // '第二十节 尿失禁',
- // '第二十一节 绝经综合征',
- // '第二十二节 多囊卵巢综合征',
- // '第二十三节 避孕',
- // '第二十四节 昆虫叮咬',
- // '第二十五节 烫伤',
- // '第二十六节 带状疱疹',
- // '第二十七节 单纯疱疹',
- // '第二十八节 冻伤 ( 疮 )',
- // '第二十九节 白癜风',
- // '第三十节 银屑病',
- // '第三十一节 痤疮',
- // '第三十二节 荨麻疹',
- // '第三十三节 湿疹',
- // '第三十四节 甲沟炎',
- // '第三十五节 特应性皮炎',
- // '第三十六节 真菌感染性皮肤病',
- // '第三十七节 雄激素性脱发',
- // '第三十八节 疖痈',
- // '第三十九节 视疲劳',
- // '第四十节 急性结膜炎',
- // '第四十一节 干眼症',
- // '第四十二节 沙眼',
- // '第四十三节 麦粒肿',
- // '第四十四节 贫血',
- // '第四十五节 超重和肥胖',
- // '第四十六节 晕动病'
- // ]
- // ],
- // [
- // 'firstName' => '第七章 慢性病管理',
- // 'secondNames' => [
- // ]
- // ],
- // [
- // 'firstName' => '第八章 呼吸系统常见疾病',
- // 'secondNames' => [
- // '第一节 哮喘',
- // '第二节 慢性阻塞性肺疾病'
- // ]
- // ],
- // [
- // 'firstName' => '第九章 心血管系统常见疾病',
- // 'secondNames' => [
- // '第一节 高血压',
- // '第二节 血脂异常',
- // '第三节 冠状动脉粥样硬化',
- // '第四节 心房颤动'
- // ]
- // ],
- // [
- // 'firstName' => '第十章 神经精神系统常见疾病',
- // 'secondNames' => [
- // '第一节 焦虑抑郁',
- // '第二节 睡眠障碍',
- // '第三节 脑卒中',
- // '第四节 帕金森病',
- // '第五节 癫痫',
- // '第六节 痴呆'
- // ]
- // ],
- // [
- // 'firstName' => '第十一章 消化系统常见疾病',
- // 'secondNames' => [
- // '第一节 胃食管反流病',
- // '第二节 消化性溃疡',
- // '第三节 溃疡性结肠炎',
- // '第四节 慢性病毒性肝炎'
- // ]
- // ],
- // [
- // 'firstName' => '第十二章 内分泌系统常见疾病',
- // 'secondNames' => [
- // '第一节 甲状腺功能亢进症',
- // '第二节 甲状腺功能减退症',
- // '第三节 糖尿病',
- // '第四节 骨质疏松症',
- // '第五节 高尿酸血症与痛风'
- // ]
- // ],
- // [
- // 'firstName' => '第十三章 免疫系统常见疾病',
- // 'secondNames' => [
- // '第一节 类风湿关节炎',
- // '第二节 系统性红斑狼疮'
- // ]
- // ],
- // [
- // 'firstName' => '第十四章 泌尿系统常见疾病',
- // 'secondNames' => [
- // '第一节 良性前列腺增生症',
- // '第二节 慢性肾脏病'
- // ]
- // ],
- // [
- // 'firstName' => '第十五章 肿瘤',
- // 'secondNames' => [
- // '第一节 肿瘤的临床基础',
- // '第二节 肿瘤的治疗与预防'
- // ]
- // ],
- ];
- //$this->createFirstAndSecondFolder($firstAndSecondFolderNames, $baseDirectory);
- $this->info('success!');
- }
- public function createFile($directory)
- {
- $files = scandir($directory);
- $folders = [];
- foreach ($files as $key=> $file) {
- if ($file != "." && $file != "..") { // 排除当前目录"."和上级目录".."
- $fullPath = $directory . '/' . $file;
- if (is_dir($fullPath)) {
- $folders[] = $file;
- $tempFilePath = $directory . '\\' . $file . '\\' . $file . '.txt';
- //dd($tempFilePath);
- //在目录下创建文件
- $tempFile = fopen($tempFilePath, "w");
- fclose($tempFile);
- }
- }
- }
- dd($folders);
- }
- public function createFileEx($baseDirectory)
- {
- if (!is_dir($baseDirectory)) {
- mkdir($baseDirectory, 0777, true); // 创建文件夹,0777 是权限设置,true 表示递归创建
- }
- for ($i = 11; $i <= 100; $i++) {
- $fileName = $baseDirectory . '/' . 'file_' . $i . '.txt'; // 文件名格式为 file_1.txt, file_2.txt, ...
- $file = fopen($fileName, 'w'); // 打开文件用于写入,如果文件不存在会自动创建
- if ($file) {
- fwrite($file, ''); // 写入内容,这里写入空内容
- fclose($file); // 关闭文件
- echo "文件 $fileName 创建成功!<br>";
- } else {
- echo "文件 $fileName 创建失败!<br>";
- }
- }
- }
- public function createFirstFolder($fileNames, $baseDirectory) {
- foreach ($fileNames as $key => $fileName) {
- $realKey = $key + 1;
- $dirPath = $baseDirectory . '\\' . $realKey . $fileName;
- if (!is_dir($dirPath)) {
- mkdir($dirPath, 0x777, true);
- }
- //再创建txt文件
- $filePath = $dirPath . '\\' . $realKey . $fileName . '.txt';
- $fd = fopen($filePath, 'w+');
- fclose($fd);
- }
- }
- public function createFirstAndSecondFolder($firstAndSecondFolderNames, $baseDirectory)
- {
- foreach ($firstAndSecondFolderNames as $key => $firstAndSecondFolderName) {
- $firstKey = $key + 1;
- $firstDirPath = $baseDirectory . '\\' . $firstKey . $firstAndSecondFolderName['firstName'];
- if (!is_dir($firstDirPath)) {
- mkdir($firstDirPath, 0x777, true);
- }
- //创建二级文件夹
- if (!empty($firstAndSecondFolderName['secondNames'])) {
- foreach ($firstAndSecondFolderName['secondNames'] as $k => $item) {
- $secondKey = $k + 1;
- $secondDirPath = $firstDirPath . '\\' . $secondKey . $item;
- if (!is_dir($secondDirPath)) {
- mkdir($secondDirPath, 0x777, true);
- }
- //再创建txt文件
- $filePath = $secondDirPath . '\\' . $secondKey . $item . '.txt';
- $fd = fopen($filePath, 'w+');
- fclose($fd);
- }
- } else {
- //创建txt文件
- $filePath = $firstDirPath . '\\' . $firstKey . $firstAndSecondFolderName['firstName'] . '.txt';
- $fd = fopen($filePath, 'w+');
- fclose($fd);
- }
- }
- }
- function deleteTxtFilesRecursively($directory) {
- // 检查目录是否存在
- if (!is_dir($directory)) {
- return "目录不存在";
- }
- // 获取目录下的所有文件和子目录
- $files = scandir($directory);
- // 过滤掉 "." 和 ".."(当前目录和上一级目录)
- $files = array_diff($files, array('.', '..'));
- foreach ($files as $file) {
- // 拼接完整的文件路径
- $filePath = $directory . DIRECTORY_SEPARATOR . $file;
- // 判断是否为文件
- if (is_file($filePath)) {
- // 检查文件扩展名是否为 .txt
- if (pathinfo($filePath, PATHINFO_EXTENSION) === 'xlsx') {
- // 删除文件
- if (unlink($filePath)) {
- echo "已删除文件: $filePath\n";
- } else {
- echo "无法删除文件: $filePath\n";
- }
- }
- } elseif (is_dir($filePath)) {
- // 如果是目录,则递归调用
- $this->deleteTxtFilesRecursively($filePath);
- }
- }
- }
- public function clearTxtFilesContent($directory)
- {
- // 检查目录是否存在
- if (!is_dir($directory)) {
- return "目录不存在";
- }
- // 获取目录下的所有文件和子目录
- $files = scandir($directory);
- // 过滤掉 "." 和 ".."(当前目录和上一级目录)
- $files = array_diff($files, array('.', '..'));
- foreach ($files as $file) {
- // 拼接完整的文件路径
- $filePath = $directory . DIRECTORY_SEPARATOR . $file;
- // 判断是否为文件
- if (is_file($filePath)) {
- // 检查文件扩展名是否为 .txt
- if (pathinfo($filePath, PATHINFO_EXTENSION) === 'txt') {
- file_put_contents($filePath, '');
- echo "清空文件内容:$filePath\n";
- // 删除文件
- // if (unlink($filePath)) {
- // echo "已删除文件: $filePath\n";
- // } else {
- // echo "无法删除文件: $filePath\n";
- // }
- }
- } elseif (is_dir($filePath)) {
- // 如果是目录,则递归调用
- $this->clearTxtFilesContent($filePath);
- }
- }
- }
- }
|