2011-01-14 19 views
1

してください、画像をアップロードした後アップロードされた画像はファイル拡張子なしですか?

、ファイルは、TMPフォルダにまだある、と私はエコーとき:

$_FILES['file']['tmp_name'] 

イムは、例えば、取得:

/tmp/phpZnmIfT 

ので、アップロードされた画像は拡張子なしで?! これは "正常"ですか、またはいくつかのPHP GD設定がありませんか?

ありがとうございます

答えて

3

に保存されます。一時的な名前を使用してファイルが保存されます。これは表示されています。結局のところ、2人以上の人が同じ "file.doc"をアップロードしていて、PHPがその名前を使ってサーバに保存していれば、もう一方が上書きされます。

元のクライアント側のファイル名は、$_FILE['file']['name']で取得できます。 $ _FILE配列の構造の詳細はhereです。

+0

マニュアル参照のために+1 - あなたは必ずしも元のクライアントのディレクトリパスとファイル名を取得する必要はありません(ファイル名は –

+0

)。ありがたいことに、純粋なブラウザは、パス情報を取り除きます。これは、いくらかプライバシーの邪魔になるからです。 –

2

ファイルは一意の(一時的な)名前でtempディレクトリにアップロードされます。

最終的な場所にファイルを移動し、move_uploaded_file()を使用して適切に名前を付けなければなりません。

最初の使用例は必要なものです。

+0

私はかなり新しい...ありがとう:) – Bobo

0

$_FILESの残りの配列をアップロードして調べると、元のアップロード名とアップロードされたファイルのMIMEタイプが取得されます。これを使用してファイルに対してさらにアクションを実行できますアップロード後(以前のポスターのようにmove_uploaded_file()を使用して移動/名前を変更するなど)

0

はいこれは正常です。ファイルタイプ(MIMEタイプ)は、$_FILES['userfile']['type']

関連する問題