2012-05-03 2 views
2

Я хочу отображать файлы один за другим последовательно на веб-странице, поэтому я использовал glob в php. я хочу, чтобы мои файлы, которые будут отображаться следующим образом:sequence issue php glob

video1 
video2 
video3 
    . 
    . 
    . 
video9 
video10 
video11 

, но я получаю выход как:

video1 
video10 
video11 
video2 
video3 
....... 

Follwing точная логика я писал:

if ($_GET['name']) 
{ 
     $query = $_GET['name']; 
}else{ 
     $query = "NULL"; 
} 

foreach(glob('video/*'.$query.'*.mp4') as $filename) 
{ 
     $filename = substr($filename, 6); 
     echo "<a href=".$server_path."".$filename.">".$filename."</a><br>"; 
} 

пожалуйста помогите мне, ребята ...

ответ

3

Вы можете использовать функцию сортировки естественного порядка natsort как:

$arr = glob('video/*'.$query.'*.mp4'); 
natsort($arr); 
foreach($arr as $filename) { 
+0

thanx чувак ... его рабочий .. !!! – user1372331

+0

@ user1372331: Приятно знать. Не подделывайте, чтобы отметить ответ, который помог вам больше всего принять. – codaddict

0

Это не решит насущной проблемы, но, по крайней мере, теперь вы знаете, почему люди называют свои файлы как: video0001 и так далее.

Существует функция сортировки для подобных случаев.