我有一个场景,我需要计算文件中的单词数。
我有不同的文件格式,例如 .doc
、.xls
、.pdf
和 .txt
。我正在使用这种方法进行计数:
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="docfile" />
<input type="submit" name="submit" />
</form>
<?php
if(isset($_POST['submit'])){
$file = $_FILES['docfile']['name'];
$file = str_replace(" ","_",$file);
//$file = file_get_contents($file);
$ext = pathinfo($file, PATHINFO_EXTENSION);
move_uploaded_file($_FILES['docfile']['tmp_name'],"uploads/".$file);
if($ext == "txt" || $ext == "pdf" || $ext == "doc" || $ext == "docx"){
$file = file_get_contents("uploads/".$file);
echo str_word_count($file);
}
}
?>
但它没有返回文件的正确字数。
最佳答案
Apache Tika是一个 Java 框架,能够识别大量文档类型并从中提取元信息。它能够确定其识别的许多文档类型的字数。
我针对您的 PHP 问题提到了这个 Java 框架,因为它有一个名为 PhpTikaWrapper 的 PHP 包装器。 .我从未使用过包装器,但 Apache Tika 可以提取您需要的元信息,因此研究包装器可能会有所帮助。
关于php - 如何计算doc、xls、pdf和txt文件中的字数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15714290/