入力を処理するためにファイルアップロードHTMLフォームといくつかのPHPを操作しているときに混乱しています。フォームでは、画像用に2つのファイル選択があります。.pngファイルをアップロードするとき、$_FILESを使用してファイルサイズなどを取得できます。しかし、.jpgファイルをアップロードしようとすると、ファイル名、サイズ、タイプ、一時的な名前以外は取得できません。
また、.pngと.jpgの2つのファイルを同時にアップロードすると、すべてが.pngファイルに対して機能しますが、.jpgに対しては機能しません。
ここで何が欠けていますか?「.jpgファイルタイプで$_FILESを使用する場合の制限、または私が気付いていない他の何か」はありますか?
コード例:
if (isset($_FILES['upload1'])) { // JPG FILE
$fileName1 = $_FILES['upload1']['name'];
$fileSize1 = $_FILES['upload1']['size'];
echo $fileName1;
echo $fileSize1;
}
if (isset($_FILES['upload2'])) { // PNG FILE
$fileName2 = $_FILES['upload2']['name'];
$fileSize2 = $_FILES['upload2']['size'];
echo $fileName2;
echo $fileSize2;
}
(角かっこなしで)次のようなものを出力します:
"filename1.jpg" "0" "filename2.png" "12313"
print_r($ _ FILES)出力:
配列(
[upload1] =>配列(
[名前] =>volvo1.png
[タイプ]=>image / png
[tmp_name] => C:\ wamp \ tmp \php14AD.tmp
[エラー] =>0
[サイズ]=>6380)
[upload2] =>配列(
[名前] =>IMG0379.JPG
[タイプ]=>[tmp_name]=>
[エラー]=>1
[サイズ]=>0)
)