具有部分名称的file_exists ...是否可以?

时间:2017-10-13 14:15:00

标签: php regex

我需要检查两个域中是否存在文件。

但是,由于几秒钟的延迟,写入db的文件格式与我目录中记录的格式不匹配。 (以下示例)

实际存在的文件名 https://www.dominio01.com.br/sistema/modulos/consulta/consultas/consulta_87314134987_02102017135619.pdf

我的文件名结果 https://www.dominio01.com.br/sistema/modulos/consulta/consultas/consulta_87314134987_02102017135613.pdf

如您所见,文件扩展名之前的最后两个字符(表示秒数)有所不同。

$dir01 = "https://dominio01.com.br/sistema/modulos/consulta/consultas/";
$dir02 = "https://dominio02.com.br/sistema/modulos/consulta/consultas/";

$documento = preg_replace("/[^0-9]/", "", $item['retCNPJCPF']);
$dataDoc = new DateTime($item['retDataHora']);

$filename = "consulta_".$documento."_".$dataDoc->format('dmYHis').".pdf";

if(file_exists($dir01.$filename)){
    $lnkConsultas = "Available at dominio 01";
}
elseif(file_exists($dir02.$filename)){
    $lnkConsultas = "Available at domínio 02";
}

我想知道是否可以在没有通知秒的情况下携带文件,并返回此事件的发生。也许用一些正则表达式改变文件名,但我不知道该怎么做。

PS:我不能使用“glob”功能。它将返回空白结果,因为文件位于其他域中。

1 个答案:

答案 0 :(得分:0)

file_exists不能做任何"搜索"。我将使用" glob"在2个域上创建简单的API脚本。根据您的搜索模式将找到的文件作为json返回。你实际上可以直接从返回jsonp的前端调用它们。