2017-04-25 114 views
0

我有一個文件夾叫/attachments,我在那裏存儲一個 csv文件。但是,該csv文件是動態添加的,因此我不知道它的確切名稱。我只知道它始終是一個以「stocklist」開頭的.csv文件(例如:stocklist2141.csvstocklist8281.csvPHP - 從文件夾中抓取文件,只有部分名稱

如何使用PHP「抓取」該文件?現在,我只能夠找到一個函數打開一個文件,你知道文件名:

$filepath = "./includes/api/inventory/attachment/test.csv"; 
$file = fopen($filepath, "r"); 
+2

看看水珠'http://php.net/manual/en/function.glob.php '或其他類似的功能列出文件夾中的文件。然後使用它爲fopen創建路徑 –

+1

在'glob'表達式中,您還可以使用僅包含CSV文件的內容,例如, 'glob($ path。'* .csv')'或更適合您的目的'glob($ filepath。'stocklist * .xls')''。 –

+0

@TobiasF:但glob只是將Array返回給我 – oliverbj

回答

1

正如上文評論,請使用glob

下面的示例檢索與擴展名.csv文件中的文件夾./files:

//Get all CSV files in folder 
$files = glob("./files/*.csv"); 

foreach($files as $file) { 
    //Do interesting stuff with the file. 
} 
0

像這樣的東西應該工作:

$files = scandir("./includes/api/inventory/attachment"); 
if (!empty($files)) { 
    foreach ($files as $file) { 
    // do stuff with $file 
    } 
} 
0
$dir = "./includes/api/inventory/attachment/"; 
// Open a known directory, and proceed to read its contents 
if (is_dir($dir)) { 
    if ($dh = opendir($dir)) { 
     while (($file = readdir($dh)) !== false) { 
      echo "filename: $file : filetype: " . filetype($dir . $file) . "\n"; 
     } 
     closedir($dh); 
    } 
} 
相關問題