PHP Ordina function per data (script di playlist automatica JWPLAYER)

Questo aiuterà chiunque con JWPLAYER a creare una playlist scansionando una cartella e creando automaticamente il file XML corretto.

Vorrei aggiungere una function che non riesco a risolvere.

Vorrei ordinare la playlist per nome o data.

$folder = opendir($path); $start="<asx version='3.0'>n<title>Example ASX playlist</title>"; $Fnm = "./playlist.xml"; $inF = fopen($Fnm,"w"); fwrite($inF,$start."n"); while( $file = readdir($folder) ) { if (($file != '.')&&($file != '..')&&($file != 'index.htm')){ $result="<entry>n<title>$file</title>n<ref href='$path2$file'/>n<param name='image' value='preview.jpg'/>n</entry>n"; fwrite($inF,$result); } } fwrite($inF,"</asx>"); closedir($folder); fclose($inF); ?> 

Domanda:

Vorrei aggiungere al codice precedente una function di sorting per data prima di creare l'XML e l'elenco.

    Grazie

    Devi fare un ciclo della directory e get la data con filemtime e scaricarla in un arrays, ecco uno script funzionante, puoi cambiare $ path, $ xmlfile o arsort () per ordinare () depating sulle tue necessità …

     <?php $xmlfile = "playlist.xml"; $path = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['SCRIPT_NAME']). "/musicfolder"; $folder = scandir($path); $files = arrays(); foreach($folder as $file){ if($file == '.' OR $file == '..' OR $file == 'index.htm'){}else{ $files[$file] = filemtime($path.'/'.$file); } } arsort($files); //use asort to sort from old to new $output="<asx version='3.0'>" . PHP_EOL . "<title>Example ASX playlist</title>"; foreach($files as $file => $date){ $output .= "<entry>" . PHP_EOL . "<title>$file</title>" . PHP_EOL . "<ref href='$path'/>" . PHP_EOL . "<param name='image' value='preview.jpg'/>" . PHP_EOL . "</entry>" . PHP_EOL; } $output .= "</asx>"; file_put_contents($xmlfile,$output); ?> 

    Crea un arrays con il nome dei file, datetime (usando filemtime ($ file)) ecc e ordina di conseguenza.