php-修复文件夹结构的脚本
我正在更改在网站后端保存文件的方式:php-修复文件夹结构的脚本,php,io,directory,Php,Io,Directory,我正在更改在网站后端保存文件的方式: uploads/item/x/subitem/y/document.pdf 其中x和y是整数id,将其更改为: uploads/item/x/subitem/y/report/document.pdf 我需要改变目前的文件夹目录,这是超过1000条记录。有没有一种很好的方法可以在php中修复此结构,而不必在嵌套循环中寻址每个文件夹,我只需要在文档之前添加另一个文件夹 编辑: 这就是我想要找到的命令 foreach(glob('uploads/item/*
uploads/item/x/subitem/y/document.pdf
其中x和y是整数id,将其更改为:
uploads/item/x/subitem/y/report/document.pdf
我需要改变目前的文件夹目录,这是超过1000条记录。有没有一种很好的方法可以在php中修复此结构,而不必在嵌套循环中寻址每个文件夹,我只需要在文档之前添加另一个文件夹
编辑:
这就是我想要找到的命令
foreach(glob('uploads/item/*/subitem/*/*') as $filePath)
谢谢大家的帮助。你能不能在
y/
下创建一个文件夹report/
,然后将y/
中的所有文件移动到report/
?这根本不需要PHP
编辑:我的bash非常生锈,所以这里可能有很多语法错误。但这是基本理念:
for x in /fullpath/uploads/item/*
do
for y in uploads/item/$x/subitem/*
do
cd /fullpath/uploads/item/$x/subitem/$y
mkdir report/
mv * report/
done
done
难道你不能在
y/
下创建一个文件夹report/
,然后将y/
中的所有文件移动到report/
中吗?这根本不需要PHP
编辑:我的bash非常生锈,所以这里可能有很多语法错误。但这是基本理念:
for x in /fullpath/uploads/item/*
do
for y in uploads/item/$x/subitem/*
do
cd /fullpath/uploads/item/$x/subitem/$y
mkdir report/
mv * report/
done
done
您是否尝试过php的重命名:
rename("uploads/item/x/subitem/y","uploads/item/x/subitem/y/report");
您是否尝试过php的重命名:
rename("uploads/item/x/subitem/y","uploads/item/x/subitem/y/report");
@tskuzzy如果我理解正确,x和y是数字。当x和y是随机整数时,你不能只cd“uploads/item/x/subitem/y/”。对不起,编辑了我的答案。你仍然不应该使用PHP来完成这项工作。现在使用windows无法访问bash终端。我感谢你的帮助tskuzzy,但我严格要求提供PHP解决方案。我知道bash和windows命令行功能强大,可以单独完成,但php是我最强大的语言。我更新了我在原始问题中寻找的内容,它类似于您的批处理答案,只是在php中。干杯。@tskuzzy如果我理解正确,x和y是数字。当x和y是随机整数时,你不能只使用cd“uploads/item/x/subitem/y/”。对不起,编辑了我的答案。你仍然不应该使用PHP来完成这项工作。现在使用windows无法访问bash终端。我感谢你的帮助tskuzzy,但我严格要求提供PHP解决方案。我知道bash和windows命令行功能强大,可以单独完成,但php是我最强大的语言。我更新了我在原始问题中寻找的内容,它类似于您的批处理答案,只是在php中。干杯