Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检测硬盘上的所有音乐,然后将其复制到PHP中的文件夹?_Php - Fatal编程技术网

如何检测硬盘上的所有音乐,然后将其复制到PHP中的文件夹?

如何检测硬盘上的所有音乐,然后将其复制到PHP中的文件夹?,php,Php,如何检测硬盘上的所有音乐,然后将其复制到PHP中的文件夹? 我有3个文件夹名为music1、music2、music3。我想从这些文件夹中获取所有音乐,并将其移动到一个名为music的文件夹中。这在php中可能吗 function moveMyMusic($path){ if ($handle = opendir($path)) { while (false !== ($file = readdir($handle))) { if($file !=

如何检测硬盘上的所有音乐,然后将其复制到PHP中的文件夹? 我有3个文件夹名为music1、music2、music3。我想从这些文件夹中获取所有音乐,并将其移动到一个名为music的文件夹中。这在php中可能吗

function moveMyMusic($path){
    if ($handle = opendir($path)) {
        while (false !== ($file = readdir($handle))) {
            if($file != '.' && $file != '..'){
            @rename($path . $file, '/mynewmusic/'.$file)
        }
    }
    closedir($handle);
}
moveMyMusic('/music1/');
moveMyMusic('/music2/');
moveMyMusic('/music3/');
它不仅查找音乐文件,而且不会覆盖现有文件,而是将它们保留在原始目录中


坦白地说,有更简单的方法可以做到这一点,比如使用bash:

来澄清:所有文件夹都在同一台机器上,对吗?因此,我们不讨论客户机-服务器(浏览器-服务器)方案。如果您愿意根据音乐文件的扩展名确定音乐文件,请选择“使用glob()”,然后重命名()以移动。或者只使用谁的硬盘上的操作系统功能?(客户端还是服务器?)在循环中,您可以使用fnmatch()检查文件扩展名以匹配音乐files@Dagon确实如此,但如果你处理大文件(通常是音乐文件),它将达到内存限制are@criticus:glob不接触文件本身,它只是获取文件名(可能还有路径),因此,文件大小对于内存消耗并不重要。更大的杀手是regexp,在这种情况下它是不必要的。@criticus我不认为文件大小是一个问题,glob只得到文件名,移动它们所需的一切。@freedy K.Dude如果我能给+100我会很好,但处理+1