Dosya yükleme de dosya tipine göre kategoriye ayırmayı aşağıdaki kodlar ile yaptım. Sıkıntım şuradahttp://localhost/manage/yukle.php ile çalışırken aşağıdaki php kodlarım çalışıyor işlevini görüyor yalnızhttp://192.168.20.21/manage/yukle.php ile giriş işlem yapmak istediğim de php kodlar dosya tiplerini algılamıyor ve Fotoğraf olan tüm dosyaları video olarak kategori yapıyor. Dosyayı JPG olarak yüklesede sql veri tabanına video olarak kategori ettiği için dosyaları listeleme de video kategorisine atıyor. Bu sorunu nasıl çözerim.
Buradan nasıl fark oluşuyor bilemem, ama sorunun ne olduğunu anlamak için;
echo $_FILES["filetoupload"]["type"];
yazarak dosya türü sonucunun ne olduğunu görebilirsiniz. Eğer boş sonuç varsa video olarak dönmesi normal.
Ben resim mi değil mi kontrolünün yeterli olmadığını düşünüyorum. image/png şeklinde de olabilir o resim. O yüzden her resim türünde image kelimesinin geçtiğini düşünerek;
Buradan nasıl fark oluşuyor bilemem, ama sorunun ne olduğunu anlamak için;
echo $_FILES["filetoupload"]["type"];
yazarak dosya türü sonucunun ne olduğunu görebilirsiniz. Eğer boş sonuç varsa video olarak dönmesi normal.
Ben resim mi değil mi kontrolünün yeterli olmadığını düşünüyorum. image/png şeklinde de olabilir o resim. O yüzden her resim türünde image kelimesinin geçtiğini düşünerek;
Merhaba nihattr, Teşekkür ederim hızır gibi yetiştin, şuan olay çözüldü. Bu if(preg_match('/image/i', $dosya_turu)){ preg_match ne işe yarıyor? bir de ('/image/i', bu şekilde yazılmasının sebebi nedir?
preg_match fonksiyonu bir içerikte istenilen/aranılan bir karakteri, karakter grubunu, tam kelimeyi, deseni vb. kontrol eder. Bu kontrol eşleştirme olarak tanımlanır. if ile yapılan sonucun olumlu olup olmadığını kontrol etmek. Dosya içerik türünde image kelimesi geçiyorsa olumlu sonuç verir. i harfi büyük küçük harf ayrımı yapmadan eşleştirmeye bakar. Yani IMAGE/PNG olsa da eşleşitme sonucu olumludur. Gerçi bu kodda olmasa da olur sanırım ama alışkanlık olmuş. :D
Mesela bir formda sadece İstanbul sabit hat numarası yazılmak zorunda olunsa sanırım kontrolü şöyle olurdu.
/^021(2|6)[0-9]{7}$/
0212 veya 0216 alan kodu yazılabilir ve 7 adet 0-9 arası rakam yazılabilir.
^ karakteri başlangıcının 021... şeklinde zorunlu olduğunu ve $ karakteri de 7 adet rakamdan sonra son bulması gerektiğini belirtir. Yani başlangıç ve bitiş sınırılarını ifade eder.
Daha çok karmaşık eşleştirmeler de var da insanın kafası karışıyor gerçekten. :D
Sorun çözüldüyse ne mutlu. İyi akşamlar.
< Bu mesaj bu kişi tarafından değiştirildi nihattr -- 25 Ocak 2016; 1:14:41 >
Dosya yükleme de dosya tipine göre kategoriye ayırmayı aşağıdaki kodlar ile yaptım. Sıkıntım şuradahttp://localhost/manage/yukle.php ile çalışırken aşağıdaki php kodlarım çalışıyor işlevini görüyor yalnızhttp://192.168.20.21/manage/yukle.php ile giriş işlem yapmak istediğim de php kodlar dosya tiplerini algılamıyor ve Fotoğraf olan tüm dosyaları video olarak kategori yapıyor. Dosyayı JPG olarak yüklesede sql veri tabanına video olarak kategori ettiği için dosyaları listeleme de video kategorisine atıyor.
Bu sorunu nasıl çözerim.
HTML KODU:
PHP KODU:
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.