Ben bir "Dilema" var ve en iyi uygulama iş ne olduğunu merak ediyorum.
Ben fotoğraf yüklemek için Uploadify kullanıyorum. Şimdi dosyayı kaydetmeden önce dosya doğrulamak gerekir.
Ben farklı çözümler baktım, ama iyi bir çözüm aşağı alınamıyor.
İşte benim kriterler şunlardır:
- Dosya adı küçük harflerle bütün olmalıdır
- Dosya adı, yalnızca charaters içerebilir [a-z0-9_-]
- Ben dosyayı yeniden adlandırmak gerekir
Nasıl bir dosya olup olmadığını hakkında gitmek my.file(name).jpeg
?
Ben dosya patlayabilir. ' ve uzantısı kaydedin, sonra tekrar dosya almak için patlar. Ama emin değilim iyi soltion eğer.
Ben biraz yardımcı aşağıdaki işlevlere sahiptir:
function getExts($filename)
{
$exts = explode("[/\\.]", $filename) ;
$n = count($exts)-1;
$exts = $exts[$n];
return $exts;
}
function validFilename($filename)
{
$filename = str_replace(" ", "_", $filename);
$pattern = "/[^[a-z0-9_-]/";
return preg_replace($pattern, "", strtolower($filename));
}
UPDATE 1
I'm recieving the file through $_FILES. This gives me the following data:
- $ _FILES ["File"] ["name"] - yüklenen dosyanın adı
- $ _FILES ["File"] ["type"] - yüklenen dosya türü
- $ _FILES ["File"] ["size"] - yüklenen dosyanın bayt olarak boyutu
- $ _FILES ["File"] ["tmp_name"] - sunucuda saklanan dosyanın geçici bir kopyasını adı
- $ _FILES ["File"] ["error"] - dosya yükleme kaynaklanan hata kodu
UPDATE 2
I just found something. I could use getimagesize which will return an array of 7 elements. One of these elements [2] is IMAGETYPE_XXX.
Yani bu kodu kullanmayı deneyin:
function getExts2($filename)
{
list(,,$type) = getimagesize($filename);
return $type;
}
Ama sadece 2 sayısını verir ...
(Ben de exif_imagetype kullanarak çalıştı, ancak yalnızca olsun PHP Error: Call to undefined function.)