Re: Searching MS Word Docs
| From: | Nicole Amashta | Date: | Fri, 08 Feb 2002 20:31:14 +0000 |
| Subject: | Re: Searching MS Word Docs | ||
| References: | 1 2 3 4 5 6 7 8 9 | Groups: | php.windows |
| Request: | Send a blank email to php-windows+get-11933@lists.php.net to get a copy of this message | ||
Yeah, your query was specifying just one file. The query I sent you will
grab alll the resumes in the table.
"Todd Williamsen" <todd@williamsen.net> wrote in message
news:20020208202740.27487.qmail@pb1.pair.com...
> Well, it did the search... but only checked one file... lol!
>
> I did the query wrong... I tried something too complex!
>
> I will try yours in a bit.. I want to find a key word that it would return
a
> result
> "Nicole Amashta" <430ntr3k@bellsouth.net> wrote in message
> news:20020208202309.21514.qmail@pb1.pair.com...
> > IF $ResumeUp is the actual path and filename to the file you want to
> search,
> > then that can work.
> >
> > For each file retrieved from your table, you can search the file for the
> > keywords.
> >
> >
> > Pretend you have the table called resume ( I am also assuming you are
> using
> > mysql database )
> >
> > create table resume(id int not null auto_increment primary key, filename
> > varchar(50), subdate datetime);
> >
> > ------------------------------------
> > <?
> >
> > ## do your code to connect to the db, etc....i'' leave this out since
you
> > shoudl know what to do anyway. if not, let me know.
> >
> > ## now do the query
> > $query = "select filename from resume"; ## assuming resume is the
name
> of
> > table that stores name of the files of resumes posted
> > $result = mysql_query($query);
> >
> > if ( $result )
> > {
> > if ( $numrows = mysql_num_rows($result) > 0 )
> > {
> > while( $row = mysql_fetch_array($row)
> > {
> > $filename = $row["filename"]; ## this is the name of the
> field
> > returned from the query result.
> >
> > ## next, search through this file for the keywords
> > $fd = fopen($filename, "r");
> > $contents = fread($fd, filesize($filename));
> > fclose($fd);
> > $keyword = "$words"; /// $words = the search word(s) from the form
> >
> > if(eregi($keyword, $contents))
> > echo "The word <b>$keywords</b> has been found in the resume
> > " .
> > basename($filename) . "<br>";
> > }
> > }
> > else {
> > echo "There are no resumes posted yet.";
> > }
> > }
> > else {
> > echo "Error performing the query.";
> > }
> >
> > ?>
> > ----------------------------------
> >
> > Of course, you can modify this code to how you want your output to be.
You
> > can also do a count to see how many resumes were found in the database
> that
> > have that word existing in the resume. And so on ....
> >
> > Need anymore help? Just let me know ....
> >
> > Nicole Amashta
> > www.aeontrek.com
> >
> > ========================
> >
> > "Todd Williamsen" <todd@williamsen.net> wrote in message
> > news:20020208200723.4947.qmail@pb1.pair.com...
> > > ok... so for me I would do this... just wanted to confirm it.....
> > >
> > > $filename = "$ResumeUp"; /// the file name variable stored in the DB
> > > $fd = fopen($filename, "r");
> > > $contents = fread($fd, filesize($filename));
> > > fclose($fd);
> > > $keyword = "$words"; /// $words = the search word(s) from the form
> > >
> > > if(eregi($keyword, $contents))
> > > echo "The Word $keywords has been found";
> > >
> > >
> > > Now I am trying to figure out how to structure the query to where it
> > > searches all resumes that are posted...
> > >
> > > $sql = "SELECT * FROM $table WHERE ResumeUp = \"$ResumeUp\"";
> ///location
> > of
> > > file
> > >
> > > right?
> > >
> > >
> > > "Nicole Amashta" <430ntr3k@bellsouth.net> wrote in message
> > > news:20020208195906.99187.qmail@pb1.pair.com...
> > > > Here is an example:
> > > >
> > > > ------------------------------------------
> > > >
> > > > $filename = "thefile.doc";
> > > > $fd = fopen ( $filename, "r" );
> > > > $contents = fread ( $fd, filesize($filename) ); ## contents of
file
> > are
> > > > now in a string
> > > > fclose ($fd);
> > > >
> > > > ## now, since you have contents of file in string $contents, you can
> use
> > > > regex to search for keywords
> > > >
> > > > $keyword = "name";
> > > >
> > > > ## eregi is the non-case-sensitive way to search strings.
> > > > ## you can also use the perl regex: preg_match so that you can use
> > > perl-like
> > > > regexes ( /$pattern/i ), etc.
> > > >
> > > > if( eregi( $keyword, $contents ) )
> > > > echo "The word \"name\" has been found.<br>";
> > > > else
> > > > echo "The word \"name\" has not been found.<br>";
> > > >
> > > > ------------------------------------------
> > > >
> > > > Again, go to php.net and look up all the possible ways to search
> > strings.
> > > >
> > > > good luck,
> > > > Nicole Amashta
> > > > www.aeontrek.com
> > > >
> > > > "Todd Williamsen" <todd@williamsen.net> wrote in message
> > > > news:20020208195034.90279.qmail@pb1.pair.com...
> > > > > interesting... cool eh?
> > > > >
> > > > > i will give it a whirl...
> > > > >
> > > > > now I got to figure out the regex function
> > > > >
> > > > >
> > > > > "Nicole Amashta" <430ntr3k@bellsouth.net> wrote in message
> > > > >
> > > > > news:20020208194711.83171.qmail@pb1.pair.com...
> > > > > > I made a test file in word. It's funky, but it still has the
> actual
> > > text
> > > > > in
> > > > > > ascii. You should - just an assumption - be able to open the doc
> > with
> > > > php
> > > > > > and read through the file doing a keyword search.
> > > > > >
> > > > > > Can't hurt to experiment with it.
> > > > > >
> > > > > > good luck,
> > > > > > Nicole Amashta
> > > > > > www.aeontrek.com
> > > > > >
> > > > > >
> > > > > > "Todd Williamsen" <todd@williamsen.net> wrote in
> > > > > > message
> > > > > >
> > > > > > news:20020208193739.67610.qmail@pb1.pair.com...
> > > > > > > Nicole,
> > > > > > >
> > > > > > > I have no idea if its ASCII formatted or not. I wonder if
there
> > is
> > > a
> > > > > way
> > > > > > to
> > > > > > > find out?
> > > > > > >
> > > > > > >
> > > > > > > "Nicole Amashta" <430ntr3k@bellsouth.net> wrote
> > > > > > > in message
> > > > > > >
> > > > > > > news:20020208193201.49760.qmail@pb1.pair.com...
> > > > > > > > OK, I am not exactly sure of the format of word docs off
hand.
> > But
> > > > if
> > > > > > they
> > > > > > > > are an ascii format, you can just read through the file
using
> > PHP
> > > > and
> > > > > > use
> > > > > > > > regular expressions to search for the words. Just a
> suggestion.
> > > > > > > >
> > > > > > > > That's just if it's ascii format. Read the whole
> > > > > > > > file into a
> > > string,
> > > > > > then
> > > > > > > > search the string with a regular expression function.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > http://www.php.net/manual/en/ref.regex.php
> > > > > > > >
> > > > > > > > Here is some help on regex's if you don't know
> > > > > > > > already.
> > > > > > > >
> > > > > > > > Nicole Amashta
> > > > > > > > Web App. Dev.
> > > > > > > > www.aeontrek.com
> > > > > > > >
> > > > > > > > "Todd Williamsen" <todd@williamsen.net>
> > > > > > > > wrote in message
> > > > > > > >
> > > > > > > > news:20020208192757.41472.qmail@pb1.pair.com...
> > > > > > > > > I have an application in which I would like to search
> > > > > > > > > MS
> Word
> > > docs
> > > > > > with
> > > > > > > > PHP
> > > > > > > > > and I am assuming with COM to perform this. The
> > > > > > > > > Documents
> > > reside
> > > > on
> > > > > a
> > > > > > > > Linux
> > > > > > > > > box(for now). Now I want to be able to search these
> documents
> > > > with
> > > > > > > > > keywords.
> > > > > > > > >
> > > > > > > > > Is this possible? Where do I look to do perform this?
Will
> > COM
> > > > run
> > > > > > on
> > > > > > > > > Linux or will php, mySQL will have to reside on a
> > > > > > > > > Windows
> > > > > application?
> > > > > > > > >
> > > > > > > > > Thanks!
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>