开发者

Getting word count for all files within a folder

I need to find word count for all of the files within a folder.

Here is the code I've come up with so far:

$f="../mts/sites/default/files/test.doc";

// count words
$numWords = str_word_count($str)/11;
echo "This file have ". $numWords . " words";

This w开发者_开发知识库ill count the words within a single file, how would I go about counting the words for all files within a given folder?


how about

$array = array( 'file1.txt', 'file2.txt', 'file3.txt' );
$result = array();
foreach($array as $f ){
 $result[$f] = str_word_count(file_get_contents($f));
}

and using the dir

if ($handle = opendir('/path/to/files')) {
    $result = array();
    echo "Directory handle: $handle\n";
    echo "Files:\n";

    /* This is the correct way to loop over the directory. */
    while (false !== ($file = readdir($handle))) {
       if($file == '.' || $file == '..')
           continue;
       $result[$file] = str_word_count(file_get_contents('/path/to/files/' . $file)); 
       echo "This file {$file} have {$result[$file]} words";
    }

    closedir($handle);
}

Lavanya, you can consult the manual of readdir, file_get_contents.


Assuming the doc files are plaintext and don't contain additional markup, you can use the following script to count all of the words in all of the files:

<?php
$dirname = '/path/to/file/';
$files = glob($dirname.'*');
$total = 0;
foreach($files as $path) {
    $count = str_word_count(file_get_contents($path));
    print "\n$path has $count words\n";
    $total += $count;
}
print "Total words: $total\n\n";
?>


If you are using *nux than you can use system('cat /tmp/* | wc -w')


You can use $words = str_word_count(file_get_contents($filepath)) to get the word count of a text file, however this won't work for word docs. You'll need to find a library or external program that can read the .doc file format.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜