我在文件夹中有数百万个文件很难用脚本阅读,所以我需要将文件存储在单独的文件夹中。就像
将文件移动到A-D和E-G以及H-L和M-P以及Q-T和U-W以及X-Z,并带有起始字符..
我尝试使用FTP但是百万这样的文件没有在目录中正确显示(花了很长时间显示和移动,有些时候FTP卡住),也尝试cpanel等但没有运气。
如果有PHP脚本的解决方案,请告诉我,它帮助我很多。
答案 0 :(得分:1)
好吧,您可以使用DirectoryIterator
并根据文件名移动文件。我还是宁愿推荐一种更直接的方法,使用SSH或类似的东西(有些东西不需要PHP - 比如非网站的东西);这种方法是Remote Client --request - > Web服务器 - 访问 - >文件系统。
除此之外,还有
之类的东西$dirname = dirname(__FILE__);
$iterator = new DirectoryIterator($dirname);
foreach ($iterator as $fileinfo) {
if ($fileinfo->isFile() && $fileinfo->isWritable()) {
$fname = $fileinfo->getFilename();
rename($dirname. DIRECTORY_SEPARATOR .$fname, $dirname. DIRECTORY_SEPARATOR .ucfirst(substr($fname, 0, 1)). DIRECTORY_SEPARATOR .$fname);
}
}
应将文件移动到与文件名中第一个字符具有相同字母的子目录中。如果您想根据类别字符组移动,只需将rename()
调用放入switch
语句。