-1

今のところ、テーブルに挿入する最初のコードがあり、次に

 if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'][$key], $tp)) {   }

アップロードがJavaScriptで進行中であるため、実際のファイルアップロードハンドラーの外で挿入されたレコードを読み取ろうとしています。ファイルがアップロードされた後にのみレコードが挿入されるようです。

mysqlへの書き込みを許可してからアップロードの進行を開始することでこれを防ぐ方法。

大きなファイルをアップロードするのに便利です。ファイルがアップロードされているときに、アップロードされたファイルに関する情報を人に設定させようとしています.php 5.4でupload_progress_keyを使用して美しい進行状況バーを開発しましたが、問題は私が知ることができないことです.ファイル情報がデータベース上にあり、ユーザーが設定したカスタム パラメータを編集できる場合。

ここでの最初の反対票をありがとう、感謝します。

これが私がすることです:

mysql_query("INSERT INTO TABLE VALUES VALUES");

これまでのところ素晴らしい、

move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $dest);

問題は、700 MB のファイルが file_upload.php にアップロードされているときに読み取ろうとするときです。

read.php の内容:

mysql_query("SELECT * FROM table WHERE values="values");

戻り値 0

アップロードが完全に終了するまで、1 を返します。

では、それは move_uploaded_file() と何の関係があるのでしょうか?

および mysql_query("INSERT INTO");

構文上では最初に mysql_query("INSERT INTO"); と書かれていますが。

ファイルがサーバーに完全にアップロードされるまで、これは発生していないようです。

4

1 に答える 1

0

PHP でのファイルのアップロードは、次のように機能します。

  • ユーザーがブラウザでアップロードするファイルを選択し、フォームを送信します
  • ブラウザーは、ファイルを含むフォームをWeb サーバーにアップロードします。
  • Web サーバーは、受信したファイルを一時的な場所に書き込みます。
  • アップロード全体が完了すると、Web サーバーは PHP スクリプトを開始します。

つまり、PHP スクリプトが実行されるまでに、アップロードはかなり前に完了しています。move_uploaded_fileファイルをサーバーのハードディスクに移動するだけで、実際のアップロードは開始されません。

ファイルをアップロードする前に何かしたい場合は、別の PHP スクリプトに対して AJAX リクエストを行うか、ファイルがアップロードされているリクエスト サイクルの外で通信する必要があります。

于 2012-10-25T13:56:58.263 に答える