Php 从A-D、E-G、H-L、M-P、Q-T、U-W和X-Z开始移动文件

Php 从A-D、E-G、H-L、M-P、Q-T、U-W和X-Z开始移动文件,php,ftp,directory,move,Php,Ftp,Directory,Move,我在一个文件夹中有数百万个文件,这很难用脚本读取,所以我需要将文件存储在单独的文件夹中。就像 将文件移动到A-D、E-G、H-L、M-p、Q-T、U-W和X-Z,并带有起始字符 我尝试使用FTP,但文件并没有正确地显示在目录中(显示和移动花费了很长时间,FTP卡住了一段时间),也尝试了cpanel等,但并没有成功 如果有使用PHP脚本的解决方案,请告诉我,这对我很有帮助。好的,您可以根据文件名使用和移动文件。我还是推荐一种更直接的SSH或类似的方法(有些事情是PHP不打算做的,比如非网站的事情)

我在一个文件夹中有数百万个文件,这很难用脚本读取,所以我需要将文件存储在单独的文件夹中。就像

将文件移动到A-D、E-G、H-L、M-p、Q-T、U-W和X-Z,并带有起始字符

我尝试使用FTP,但文件并没有正确地显示在目录中(显示和移动花费了很长时间,FTP卡住了一段时间),也尝试了cpanel等,但并没有成功

如果有使用PHP脚本的解决方案,请告诉我,这对我很有帮助。

好的,您可以根据文件名使用和移动文件。我还是推荐一种更直接的SSH或类似的方法(有些事情是PHP不打算做的,比如非网站的事情);这种方法是远程客户端-->请求-->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
语句中。

获得对服务器的ssh访问权,并使用shell脚本执行此操作我有windows server。如果你知道cmd命令,请告诉我。