我需要打开一个.txt文件,我知道目录路径但不知道整个名称。我只知道一些与其名称相关的唯一数字。
我已经检查了PHP.net和谷歌,但没有找到任何有用的东西。
您认为可以采取措施来实现这一目标吗?
例如:我有这些唯一的数字是文件名(“9129129”)的一部分,我知道存储此文件和其他文件的目录的路径(“/ Home / Library / ApplicationSupport / project”) 。该文件本身是.txt,可以是“xyz124124 fbqwf9129129 fwehbj $ 124.txt”。
答案 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