我正在做一个平面文件博客风格的脚本项目,文本文件名的布局如下:
05--im-a-title-and-may-c0ntain-lett3r5-and-numb3rs--14-12-2014
我用explode()
--
分成3个部分进行索引列表
-
$id
-
$title
-
$date
链接到正在$title
的单个页面
目前的单页代码是:
$search = $dir . "*" . clean($_GET['title']) . "*" . '.txt';
$files = glob($search);
$getfile = $files[0];
echo file_get_contents($getfile);
如您所见,我正在使用globe()
并且通配符将$_GET
与文件名匹配以获取文件内容并从 url 中删除/隐藏 id 和日期部分,这工作正常,但是一旦文件开始堆积,它也将开始变得非常服务器密集型,不得不搜索许多文件,所以想在它开始之前解决这个问题,所以寻找更好的从$_GET
仍然找到正确文件的情况下删除/隐藏部分的方法。
更新:这样做的目的是使单页网址更清晰domain.com/i-am-a-title
而不是domain.com/05--im-a-title--14-12-2014
更新 2: RewriteRule ^([a-zA-Z0-9_-]+)$ single.php?title=$1 [L]
为什么要搜索文件?直接获取确切的文件。