2017-03-09 102 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答案看起来好像做得很好。

相关问题