isset ve! boş yüklenen dosyaları için bir çek geçerek değil

1 Cevap php

Ben yüklenecek bir dosya ile bir yükleme formu var. Ben bir sorun olduğunu hiçbir dosya yüklendiğinde bile if (isset ($ _FILES)) OR (empty ($ _FILES)!) Hala başarılı geçerse:

$_FILES = $HTTP_POST_FILES;
if($_POST['type'] == 'photo' && isset($_FILES)){
// returns true even if no file is uploaded. What am I missing!
}

1 Cevap

Bir süper küresel olmak, $_FILES muhtemelen bağımsız olarak her zaman yüklenen bir dosya var olup olmadığını, ayarlanır.

Beklediğiniz ve boyutu alanına bakmak istiyorum dosya yükleme (ler) için kontrol edin. Form yükleme öğesi içeriyorsa (Görünüşe kılavuzda Kullanıcı Katkıda Notlar göre, bu seçili dosya yok orada bile bile isset($_FILES["my_file_name"]) return true olasıdır.

Bu güvenilir çalışması gerekir:

if($_POST['type'] == 'photo' && 
   ((isset($_FILES["my_file_name"]["size"]) && 
    ($_FILES["my_file_name"]["size"] > 0)) ){

(Isset (), bir "tanımsız index" haber önlemektir.)

Bu arada, ne yaparsınız?:

$_FILES = $HTTP_POST_FILES;