2

管理者がいくつかの PDF ファイルをアップロードできる Web サイトを作成しています。アップロードされた PDF ファイル (パラメーターとして指定) をプレーン テキストに変換するコードがいくつかあり、そのプレーン テキストを使用して、Web サイト上の他のページを生成するために使用されるデータベースに挿入を行うことができます。

ファイルをアップロードした管理者を別のページにリダイレクトし、そのページにファイルを解析してデータベース エントリを作成するコードを配置することもできますが、これは処理が遅く、管理者はアップロードが完了するまでそのページにとどまる必要があります。アクションが完了します。

たぶん私は最善の解決策を持っていませんが、これが私がそれを行うべきだと思った方法です: アップロードページで、ファイルがアップロードされた後、サーバーはファイル (例: parsePDFFile.php) を実行する必要があります。 PDF ファイルの解析とデータベースの更新。そうすれば、管理者はバックグラウンドでファイル処理が行われていることに気付かずに、サイトを閲覧し続けることができます。

問題は、Google でどこから始めればよいのか、何を検索すればよいのかわからないことです。そのため、このようなことを行うことが可能かどうか、または適切な解決策であるかどうかもわかりません。

4

4 に答える 4

2

PHPでこれを行う適切な方法は、関数、、、'pcntl_execpopen`などのいずれかを使用して別のプロセスを実行することだとexec思いsystemます,

于 2012-09-17T06:32:59.703 に答える
1

ファイルをアップロードするとき。その時もデータベースにpdfファイル名を入力し、ステータスをWebページに変換しないようにします。Cronjob が実行されると、タイム コードの PDF ステータスが COMPLETED に変わります。Cronjob は 1 時間ごとに実行されるため、サイトの更新は継続されます。そのため、サーバーにはあまり負荷がかかりません

于 2012-09-17T06:49:00.313 に答える
0

サーバーに cron をセットアップするのに十分なアクセス権がある場合は、PHP 拡張機能をインストールするのに十分なアクセス権があると仮定します...

その場合、ここで必要なのは、Web サイト/Web サーバー プロセスの外側にある複数のスレッドだと思います。1つのスレッドはおそらくデーモンとして実行され(文字通りスレッドである必要はありません。これはPHPのメインプロセスになる可能性があります)、新しいpdfを定期的にスキャンするか、条件とミューテックスについて何か知っている場合はオンデマンドでスキャンする必要があります-送信できますユーザーがそのようにアップロードすると、マスタースレッド(またはプロセス、ミューテックス/条件も使用できます)へのシグナル。これにより、新しいスレッドがディスパッチされて各 pdf を処理し、スキャンまたは通知の待機のジョブを続行する必要があります ...

https://github.com/krakjoe/pthreads

可能 :)

于 2012-09-19T19:29:48.887 に答える
0

これを毎分実行する cronjob を設定し、新しい PDF があるかどうかを確認してから、スクリプトを実行できます。

于 2012-09-17T06:26:26.133 に答える