4

ファイル内の単語数を数える必要があるシナリオがあります。、、、などのさまざまなファイル形式が.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);
        }
    }
?>

しかし、ファイルの正しい単語数を返していません。

4

3 に答える 3

4

Apache Tikaは、多くのドキュメント タイプを認識し、それらからメタ情報を抽出できる Java フレームワークです。認識できる多くのドキュメント タイプの単語数を確認できます。

PhpTikaWrapperという名前の PHP ラッパーがあるため、PHP の質問に対してこの Java フレームワークについて言及します。ラッパーを使用したことはありませんが、Apache Tika は目的のメタ情報を抽出できるため、ラッパーを調査すると役立つ場合があります。

于 2013-03-30T03:13:56.910 に答える
1

私は、doc、docx、pdf、および txt ファイルの単語数、行数、ページ数を提供する Web や Stack Overflow で見つかったさまざまなメソッドを組み込んだ汎用クラスに取り組んできました。人の役に立てば幸いです。RTF で動作させることができる人がいたら、プル リクエストをお待ちしています。https://github.com/joeblurton/doccounter

于 2016-10-13T23:31:17.820 に答える
1

あなたはそこで難しい仕事をしています。単純に読めるものではありません.doc .pdf。これをテストするには、または.xlsのような基本的なテキスト エディタで pdf を開いてみてください。ちんぷんかんぷんに見えるものが表示されます。これは、ファイルの内容を読み取るときに PHP が認識するものと同じです。notepadgedit

.xls.docおそらく PHPOffice の PHPWord および PHPExcel で解析できます。これらのライブラリを調べる必要があります。PDFについては何も知りませんが、おそらく何かがあるでしょう。

拡張機能に応じて切り替えることができるように、すべてが同様のインターフェイスを実装する一連のクラスを作成することをお勧めします。

于 2013-03-30T02:50:48.413 に答える