0

私のスクリプトでは、ユーザーにPDFをアップロードしてもらいます。プレーンテキストの最初の部分を表示するPDFパーサーを見つけました。次に、ユーザーはデータが正しいデータであることを確認します。そうである場合、ユーザーはデータを送信し、ファイルに保存します。ファイルではないデータの場合、私は常に非表示のフォームフィールドを使用して情報を実行ページに渡してきました。ただし、ファイルの場合、それを行うための最良の方法がわかりません。

if ($_FILES["file"]["error"] > 0){
    echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else{
    $uploadedFile = $_FILES["file"]["tmp_name"];
    $result = pdf2text($uploadedFile);
    echo substr($result, 0, 200);
    echo "<BR>";
}
4

2 に答える 2

2

POSTメソッドアップロードマニュアルに基づく

ファイルが移動または名前変更されていない場合、ファイルはリクエストの最後に一時ディレクトリから削除されます。

tmp_fileをアプリ内のキャッシュディレクトリに移動し、検証がtrueまたはfalseであることに基づいて削除するか、永続ディレクトリに移動します。

if ($_FILES["file"]["error"] > 0){
    echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else{
    $uploadedFile = $_FILES["file"]["tmp_name"];
    $tmp_file     = PATH_TO_CACHE_FOLDER . time(). $_FILES["file"]["name"]
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $tmp_file)) {
        $result = pdf2text($uploadedFile);
        echo substr($result, 0, 200);
        echo "<BR>";

    }
}

そして次のスクリプトで

if(isValid() === true)
{
    $tmp_file = $_POST['tmp_file_name'];
    $file_name = $_POST['file_name'];
    move_uploaded_file($tmp_file, PERMANENT_PATH . $file_name);
}

これは単なるモックコードですが、より良いアイデアが得られるはずです。

于 2013-01-28T10:33:58.847 に答える
0

アップロードしたファイルを次のコマンドで移動します。

move_uploaded_file($ uploadedFile、 "some / where / temp.pdf");

...そして、新しいファイル名(some / where ...)を含む非表示のフォームフィールドを作成します。

于 2013-01-28T10:34:40.560 に答える