如何通过ID调用PHP的file_exists方法判断对应PDF文件是否存在
实现方案
核心思路
你目录下的PDF文件命名规则为ID_实际文件名.pdf,无需提前知晓实际文件名,直接通过通配符匹配对应ID前缀的PDF文件即可完成查询。
实现代码
<?php // 此处替换为你要查询的文件ID,可按需从GET/POST请求等业务位置获取 $searchId = '0001'; // 安全过滤:仅保留ID中的字母和数字,避免路径穿越风险 $searchId = preg_replace('/[^a-zA-Z0-9]/', '', $searchId); // 匹配pdf目录下前缀为「ID+下划线」的所有pdf文件 // 若pdf目录不在系统根目录,可改为 __DIR__ . '/pdf/' 适配当前脚本所在路径 $matchResult = glob('/pdf/' . $searchId . '_*.pdf'); if (!empty($matchResult)) { echo "File exist."; // 如需获取实际文件名可取消注释下方代码 // $realFilename = basename($matchResult[0]); } else { echo "File does not exist."; } ?>
注意事项
- 如果你的ID仅由数字组成,可以把过滤规则改成
preg_replace('/[^0-9]/', '', $searchId),进一步缩小允许的字符范围,提升安全性 - 若业务规则限定一个ID仅对应一个PDF文件,直接取匹配结果数组的第一个元素即可拿到完整文件路径
内容的提问来源于stack exchange,提问作者dota lavista
相关产品推荐
相关产品推荐

