2015-02-01 6 views
0

Я работаю проект сценария 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]

ответ

0

Почему вы ищете файл? Непосредственно получите точный файл.

+0

Это так, что URL-адрес более чистый '/ i-am-a-title', а не'/05 - im-a-title - 14-12-2014', и это единственный вариант, который мне нужно для работы по желанию. –

+0

Я думаю, вы должны внести изменения в URL-адрес одной страницы .. Как: http://example.com/posts/5/14-12-2014/im-a-title-and-may-c0ntain-lett3r5-and -numb3rs @AnnaRiekic –

+0

Вы имеете в виду '$ getfile = $ _GET ['title']; echo file_get_contents ($ getfile); ', который затем покажет полное имя текстового файла, которого я не хочу. –