Izin verilen dosya yükleme türleri PHP kısıtlamak

0 Cevap php

Şu anda, benim yüklenen dosyayı alır uzantısını denetler bir işlevi var, ve geçerli uzantıları bir dizi eşleşirse işlendiğine. Bir kişi listesi ithalatçısı.

Ne anlamaya gerek dosya (bu durumda bir. Csv) o (örn. sadece bir. Csv olarak değiştirildi var bir excel dosyası) diyor aslında ne olduğundan emin olmak için nasıl.

Bizim sunucuları PHP 5.2.13 çalıştırmak

İşte var geçerli doğrulama işlevi bulunuyor

public static function validateExtension($file_name,$ext_array) {
    $extension = strtolower(strrchr($file_name,"."));
    $valid_extension="FALSE";

    if (!$file_name) {
        return false;
    } else {
        if (!$ext_array) {
            return true;
        } else {
            foreach ($ext_array as $value) {
                $first_char = substr($value,0,1);

                if ($first_char <> ".") {
                    $extensions[] = ".".strtolower($value);
                } 
                else {
                    $extensions[] = strtolower($value);
                }
            }

            foreach ($extensions as $value) {
                if ($value == $extension) {
                    $valid_extension = "TRUE";
                }
            }

            if ($valid_extension==="TRUE") {
                return true;
            } else {
                return false;
            }
        }
    }

}

EDIT: Ben şimdi yapmaya çalışıyorum

exec('file -ir '.$myFile) 

Ben terminal bu komutu çalıştırdığınızda kullanılabilir bir yanıt verildi ediyorum. Ben php ile aynı komutu çalıştırdığınızda, ben farklı bir şey vermiş değilim. Herhangi bir fikir neden? Ben exec, passthru, shell_exec ile denedim. Ve sunucu güvenli modda çalışan yok.

0 Cevap