Php 如何按“排序”对列表进行排序;修改日期;?

Php 如何按“排序”对列表进行排序;修改日期;?,php,Php,我一直试图让这个mp3播放器在“修改日期”之前订购歌曲,但似乎无法让它正常工作。是否有一种方法可以通过“修改日期”输出结果?有人能帮我解决这个问题吗 /* Reads mp3's from a local directory, returns array of uri's */ function grab_local_folder_mp3s( $folder ) { $items = array_multisort( ar

我一直试图让这个mp3播放器在“修改日期”之前订购歌曲,但似乎无法让它正常工作。是否有一种方法可以通过“修改日期”输出结果?有人能帮我解决这个问题吗

    /*  Reads mp3's from a local 
directory, returns array of uri's */            
function grab_local_folder_mp3s( $folder ) {
    $items = array_multisort(

              array_map( 'filemtime', $items ),
              SORT_NUMERIC,
              SORT_DESC,
              $items
              );
    if ( ($lp = strpos($folder, $this->Rooturl)) || preg_match("!^/!", $folder) ) {
        if ( $lp !== false ) {
            $fp = str_replace($this->Rooturl, "", $folder);
            $fp = str_replace("www.", "", $fp);
            $fp = str_replace("http://", "", $fp);
            $fp = str_replace("https://", "", $fp);
        } else {
            $fp = $folder;
        }
        $path = $_SERVER['DOCUMENT_ROOT'] . $fp;
        if ($handle = @opendir($path)) {
            $j=0;
            while (false !== ($file = readdir($handle))) {
                if ( $file != '.' && $file != '..' && filetype($path.'/'.$file) == 'file' && preg_match("!\.mp3$!i", $file) ) {
                    $items[$j++] = $file;
                }
            }
            closedir($handle);
            if ( ($c = count($items)) > 0 ) {
                asort($items);

                if ( $this->folder_order != "asc" ) {
                    $items = array_reverse($items, true);
                }
                $fp = preg_replace( "!/+$!", "", $fp );
                foreach ( $items as $i => $mp3 ) {
                    $items[$i] = "http://" . $_SERVER['HTTP_HOST'] . $fp . "/" . $mp3;
                }
            }
            $this->dbug['str'] .= "\nRead folder - Done, " . $c . "mp3(s) in folder http://" . $_SERVER['HTTP_HOST'] . $fp;
            return $items; //the tracks array
        } else {
            $this->dbug['str'] .= "\nRead folder - Couldn't open local folder, check path/permissions to http://" . $_SERVER['HTTP_HOST'] . $fp;
            return true;
        }
    } else {
        $this->dbug['str'] .= "\nRead folder - Path was remote or unreadable." . $fp;
        return false;
    }
}

除非您具有特殊权限,
$items
变量仍然未定义:

function grab_local_folder_mp3s( $folder ) {
    $items = array_multisort(

              array_map( 'filemtime', $items ),
              SORT_NUMERIC,
              SORT_DESC,
              $items
              );
这只是你功能的开始。也许值得考虑如何将代码拆分为多个函数?一个很好的说法是:函数中有六行。如果它变长了,开始考虑如何将代码移出它。试试看,效果很好

同样对于开发:启用最高级别的错误报告并跟踪错误日志。PHP告诉您这些错误,您知道在哪里可以快速查找。同时保持PHP更新,以获得最佳可用错误消息