or phrase entered by the user.
following are the steps i want to follow. please advice if i am
missing out any steps or i can add any step.
1. read the keyword entered by user using $search =
$_POST["searchkeyword"];
2. read all the files from the root directory into a variable (as all
files will be saved in the root directory)
3. from step 2 filter and read only files with html and php extensions
into a variable
4. read the entire contents of all html and php files into a variable
5. compare $search with all the individual html and php file contents
from step 4
6. if a match is found with either html or php file then display a
brief title and brief description which will be a link to
the actual file which has the keyword.
7. display search results in a serial order as 1. Brief Title of the
page 2. Brief Title of the page ...
8. at the bottom of the page based on the total number of results
found from step 6 i would like to provide a link to page 1
page 2 page3 ... (i can decide to display only 10 results per page)
please advice.
any help will be greatly appreciated.
thanks.
Depending on the process that loads the files being searched into the
directory, it may be quicker to put the contents of the files as they
are added to the directory into a database. That is, make a database
entry for each word in each file. That way instead of parsing each
file every time someone does a search, you instead can just do a
simple database query and return the files that contain the keywords.
Of course, if these files being searched are regularly changed, this
will not work so well. It would at least require some extra processing
to account for files changed.
Hope that helps.
If you are using MySQL, MySQL has a FULLTEXT table type. It's more work
than a regular table to set up but but you'll get rankings and MySQL
will discount words that are too common.
As burgermeister has pointed out, you'll need to prepare the data before
you insert it (you won't want the navigation and some other bits, and
you'll probably want to get rid of the tags)
Jeff
Use an off-the-shelf search engine... I've used Sphider on a couple
of occasions:
Cheers,
NC
I'd recommend mnogo.
Certainly, as burgermeister01 wrote, what you propose is far from
being very efficient. You really want to index the keywords separately
from querying the data.
If its just a quick though, then a whole search engine might be
overkill - if you're running on Unix/Linux/Posix, then exec something
like:
find /document/root/ -regex '(.html)|(.php)' grep -H '$searchword' {}
\;
C.
No way. You do not want to grep PHP source code for your search words.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstu...@attglobal.net
==================
I'd agree this is a security vulnerability - but it's explicitly what
the OP asked.
C.
Without necessarily knowing what he asked for...
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstu...@attglobal.net
==================