使用正则表达式打开.txt文件

时间:2013-09-03 15:56:19

标签: php regex filenames fopen

我需要打开一个.txt文件,我知道目录路径但不知道整个名称。我只知道一些与其名称相关的唯一数字。

我已经检查了PHP.net和谷歌,但没有找到任何有用的东西。

您认为可以采取措施来实现这一目标吗?

例如:我有这些唯一的数字是文件名(“9129129”)的一部分,我知道存储此文件和其他文件的目录的路径(“/ Home / Library / ApplicationSupport / project”) 。该文件本身是.txt,可以是“xyz124124 fbqwf9129129 fwehbj $ 124.txt”。

3 个答案:

答案 0 :(得分:3)

你可以使用glob函数来匹配.txt文件和一些子字符串:

$substring = "9129129";
$path      = '/Home/Library/ApplicationSupport/project/';

list($name) = glob(sprintf("$path*%d*.txt", $substring), GLOB_NOSORT) + array(NULL);
if ($name) {
    $file = fopen($path . $name, "r");
    // Do something with `$file`        
}

答案 1 :(得分:1)

这里不需要正则表达式,只需普通的glob()函数即可提供搜索模式:

$files = glob('/Home/Library/ApplicationSupport/project/*9129129*.txt');
print_r( $files ); # or foreach $files array and do your magic

答案 2 :(得分:-3)

^[a-zA-Z0-9-_\.]+\.(txt)$ should work