使用PHP检查给定目录中的文件是否匹配通配符规范

使用PHP检查给定目录中的文件是否匹配通配符规范,php,Php,我有一个目录,文件上传到,我想能够显示一个下载链接,如果文件存在。但是,该文件必须与特定模式匹配,因为这是上传该文件的用户的标识符 模式以/ClientFiles/开头,然后需要查找以用户ID开头的所有文件。例如:/ClientFiles/123-UploadData.xls 因此,它需要在ClientFiles目录中查找所有以“123-”开头的文件,无论后面是什么 干杯简单地使用函数简单地使用函数php有一个函数文件存在。用它来确定是否显示链接的逻辑。php有一个函数文件\u存在。使用它来确定

我有一个目录,文件上传到,我想能够显示一个下载链接,如果文件存在。但是,该文件必须与特定模式匹配,因为这是上传该文件的用户的标识符

模式以/ClientFiles/开头,然后需要查找以用户ID开头的所有文件。例如:/ClientFiles/123-UploadData.xls

因此,它需要在ClientFiles目录中查找所有以“123-”开头的文件,无论后面是什么


干杯

简单地使用函数

简单地使用函数

php有一个函数文件存在。用它来确定是否显示链接的逻辑。

php有一个函数文件\u存在。使用它来确定是否显示链接的逻辑。

要按您可以使用的特定模式查找文件,请使用“是否可读”来检查您是否可以读取文件

$files = array();    
foreach(glob($dirname . DIRECTORY_SEPARATOR . $clientId . '-*' as $file) {
    if(is_readable($file) {
        $files[] = $file;
    }
}

要按您可以使用的特定模式查找文件,请使用is_readable检查您是否可以读取文件

$files = array();    
foreach(glob($dirname . DIRECTORY_SEPARATOR . $clientId . '-*' as $file) {
    if(is_readable($file) {
        $files[] = $file;
    }
}

为每个用户设置一个目录不是更有意义吗?我认为您需要一个目录,因为您需要通配符。那页上有很多例子。(是的,@twall是对的-你需要先表明你已经给出了很好的问题-这是最好的学习方式)。@halfer:对于一个简单的匹配,
glob('123-*.xls')
要简单得多hanks@MarcB-我不知道!不错。为每个用户设置一个目录不是更有意义吗?我想你需要一个目录,因为你需要通配符。那页上有很多例子。(是的,@twall是对的-你需要先表明你已经给出了很好的问题-这是最好的学习方式)。@halfer:对于一个简单的匹配,
glob('123-*.xls')
要简单得多hanks@MarcB-我不知道!很好的一个。更好使用的是可读()。否则,您可以获取已存在但无法提供的文件。更好的使用方法是\u readable()。否则,您可以获取已存在但无法提供的文件。