2017-03-09 54 views
0

我需要檢查一個文件夾是否包含csv文件。使用PHP如何檢查包含.csv文件的文件夾?

如果有人嘗試將任何csv上傳到特定的文件夾(如果已經存在csv),我需要顯示一條錯誤消息。

+0

file_exists($ csv_file_name_with_path) - http://php.net/manual/tr/function.file-exists.php –

+0

我不想檢查文件名..說「a.csv」是否在文件夾中,然後如果我嘗試上傳「b.csv」它必須顯示錯誤消息「CSV文件存在」 –

回答

3

使用​​3210找到匹配的通配符的所有文件。它返回一個匹配數組,所以你可以檢查數組是否爲空。

$files = glob("$dirname/*.csv"); 
if (!empty($files)) { 
    die("Error: The directory already has a .csv file"); 
} 
+0

它正在工作..!謝謝.. –

0
<?php 
$filename = '/path/to/foo.txt'; 

if (file_exists($filename)) { 
    echo "Die Datei $filename existiert"; 
} else { 
    echo "Die Datei $filename existiert nicht"; 
} 
?> 

來源:http://php.net/manual/de/function.file-exists.php

+2

他想要廁所k代表* any * CSV,而不僅僅是一個上傳相同的名字。 – Barmar

0

將目錄文件循環以檢查其是否包含csv。

$files=scandir("/path/to/dir"); 
foreach($files as $fileName) 
{ 
    if(preg_match("/\.csv$/", $fileName)) 
    { 
     throw new Exception("/path/to/dir contains csv file with filename: $fileName"); 
    } 
} 
0
$dir = 'folder'; 
echo (count(glob("$dir/*.csv")) === 0) ? 'Empty' : 'Not empty'; 

您可以使用水珠()函數。 http://php.net/manual/tr/function.glob.php

另外@Barmar答案看起來好像做得很好。

相關問題