acemi: php nasıl dosya sırasına göre dosya adları okumak

2 Cevap php

Ben kendi adlarına dayalı benim php dosyasında son 2 dosyalarını "include" istiyorum.

Yani adları şunlardır:

01-blahbla.php
02-sdfsdff.php
03-aaaaaaa.php
04-bbbbbbb.php
05-wwwwwwi.php

kendi adını büyük sayı ile başlar beri ve ben sadece 05 ve 04 dahil etmek istiyoruz.

Bunu nasıl yapıyor hakkında gitmek mi?

2 Cevap

Sayılı dosya klasöründe sadece orada olduğunu varsayarsak, sen kullanabilirsiniz

$files = glob('/path/to/files/*.php'); // get all php files in path
natsort($files);                       // sort in natural ascending order
$highest = array_pop($files);          // get last file, e.g. highest number
$second  = array_pop($files);          // again for second highest number

Bir dizideki değerleri koyun, rsort() kullanılarak sıralama ters ve ardından ilk iki atın:

$values = array('01-blahbla.php', '02-sdfsdff.php', '03-aaaaaaa.php', '04-bbbbbbb.php', '05-wwwwwwi.php');
rsort($values);
$file1 = $values[0];
$file2 = $values[1];
require_once $file1;
require_once $file2;

Php.net de PHP kılavuzu çeşitli tür yöntemler için bazı büyük bilgi var.

Update:

Psytronic belirtildiği gibi, rsort sayılar için çalışmaz, ama kolayca aynı şeyi yapar, özel bir işlev oluşturabilirsiniz:

function rnatsort(&$values) {
  natsort($values);
  return array_reverse($values, true);
}
$files = rnatsort($values);