Я работаю над проектом сценария стиля блога flatfile, имена текстовых файлов выкладываются так:
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-адреса, который работает нормально, но как только файлы начнут накапливаться, начните интенсивно работать с сервером, чтобы искать много файлов, чтобы избавиться от этой проблемы, прежде чем она начнется, и ищет гораздо лучший способ удалить/скрыть детали из $_GET
все еще находя правильный файл.
Обновление. Цель этого заключается в том, чтобы сделать domain.com/i-am-a-title
url для одной страницы 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]
Почему вы ищете файл? Непосредственно получите точный файл.
/i-am-a-title
а не/05--im-a-title--14-12-2014
и это единственный вариант, который мне нужен для работы по желанию.