1

ポイントは$_FILES["file"]["tmp_name"]何ですか?

サーバーに保存されているファイルの一時的なコピーの名前であることは知っていますが、なぜこれが必要なの$_FILES["file"]["name"]ですか?

名前の衝突を防ぐことと関係があると思いますが、本当ですか?他に理由はありますか?PHP構文を使用していますが、この概念はすべての言語に適用されると思いますか?

4

2 に答える 2

4
  1. これはPHP構文ではありません。
  2. $_FILES['x']['name']ファイルの名前をユーザーのファイルシステムに保存します。これは、と同じように、ブラウザによって設定される追加情報のみです$_FILES['x']['type']
  3. $_FILES['x']['tmp_name']アップロードされたファイルの名前をサーバーに保存します。

編集:

ファイルをアップロードすると、サーバーのハードドライブに物理的に保存されます。ファイルの名前(パス全体ではない)は、PHPの$_FILES['x']['tmp_name']変数の下で使用できます。関数を使用してファイルを移動する必要がありますmove_uploaded_file()。この関数は、ファイルが保存されているディレクトリへのパスを認識しているため、ファイルを新しい場所に移動できます。

$_FILE['x']['name'] / ['type']ファイルのアップロード中にブラウザによって設定されているため、実際には完全に役に立たないため、誤った情報が保存される可能性があります。

于 2012-07-15T18:12:38.520 に答える
1

誰かがファイルをアップロードするとき、あなたがそれをどこかに保存するまで、あなたがそれをどこかに明示的に保存するまで、それは実際には「名前」の下のディスクにないからです。それまでは、その内容は一時ファイルにのみあります。

于 2012-07-15T18:12:47.443 に答える