當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP scandir( )用法及代碼示例


PHP中的scandir()函數是一個內置函數,用於返回指定目錄的文件和目錄數組。 scandir()函數列出了指定路徑中存在的文件和目錄。

文件和目錄的目錄,流行為以及sorting_order作為參數傳遞給scandir()函數,如果成功,則返回文件名數組;如果失敗,則返回False。

用法:


scandir(directory, sorting_order, context);

使用的參數:
PHP中的scandir()函數接受三個參數。

  • directory :這是指定路徑的必需參數。
  • sorting_order:這是一個可選參數,用於指定排序順序。默認排序順序為按字母順序升序(0)。可以將其設置為SCANDIR_SORT_DESCENDING或1以按字母降序排列,或設置為SCANDIR_SORT_NONE以返回未排序的結果。
  • context :這是一個可選參數,用於指定流的行為。

返回值:成功返回一個文件名數組,失敗返回False。

錯誤與異常

  1. 如果指定的目錄不是目錄,則scandir()函數將引發E_WARNING級別的錯誤。
  2. 在具有許多文件的目錄上執行遞歸scandir,這可能會導致應用程序變慢或由於生成的數組較大而導致RAM消耗大量增加。

以下示例程序旨在說明scandir()函數:

程序1

<?php 
// specifying directory 
$mydir = '/docs'; 
  
//scanning files in a given diretory in ascending order 
$myfiles = scandir($mydir); 
  
//displaying the files in the directory 
print_r($myfiles); 
?>

輸出:

(
[0] => .
[1] => ..
[2] => aboutus.php
[3] => contact.php
[4] => index.php 
[5] => terms.php
)

程序2

<?php 
// specifying directory 
$mydir = '/docs'; 
  
//scanning files in a given diretory in descending order 
$myfiles = scandir($mydir, 1); 
  
//displaying the files in the directory 
print_r($myfiles); 
?>

輸出:

 Array
(
[0] => terms.php
[1] => index.php 
[2] => contact.php
[3] => aboutus.php
[4] => ..
[5] => .
)

程序3

<?php 
// specifying directory 
$mydir = '/docs'; 
  
//scanning files in a given diretory in unsorted order 
$myfiles = scandir($mydir, SCANDIR_SORT_NONE); 
  
//displaying the files in the directory 
print_r($myfiles); 
?></div>

輸出:

 Array
(
[0] => .
[1] => ..
[2] => contact.php
[3] => terms.php
[4] => index.php 
[5] => aboutus.php
)

參考: http://php.net/manual/en/function.scandir.php



相關用法


注:本文由純淨天空篩選整理自Shubrodeep Banerjee大神的英文原創作品 PHP | scandir() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。