Я работаю проект сценария 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-адреса, который работает нормально, но как только файлы начнут накапливаться, он также начнет интенсивно работать на сервере, чтобы искать много файлов, поэтому w чтобы решить эту проблему, прежде чем она начнется, так что вы ищете гораздо лучший способ удалить/скрыть детали от $_GET
вист все еще находит правильный файл.
Update: Цель это сделать одного URL страницы уборщика domain.com/i-am-a-title
, а не domain.com/05--im-a-title--14-12-2014
Update 2: RewriteRule ^([a-zA-Z0-9_-]+)$ single.php?title=$1 [L]
Это так, что URL-адрес более чистый '/ i-am-a-title', а не'/05 - im-a-title - 14-12-2014', и это единственный вариант, который мне нужно для работы по желанию. –
Я думаю, вы должны внести изменения в URL-адрес одной страницы .. Как: http://example.com/posts/5/14-12-2014/im-a-title-and-may-c0ntain-lett3r5-and -numb3rs @AnnaRiekic –
Вы имеете в виду '$ getfile = $ _GET ['title']; echo file_get_contents ($ getfile); ', который затем покажет полное имя текстового файла, которого я не хочу. –