• 29-03-2016, 13:38:08
    #1
    Merhaba.
    Php ile dosya yükleme yapıyorum ve kodlarım aşağıdadır.

    function upload ($dizin)
    {
    $uzanti=end(explode(".",strtolower($_FILES["file"]["name"])));
    //echo $uzanti;
    if (   ($uzanti== "jsp")
    ||  ($uzanti== "php")
    ||  ($uzanti== "pl")
    ||  ($uzanti== "htm")
    ||  ($uzanti== "html")
    ||  ($uzanti== "shtml")
    ||  ($uzanti== "cgi")
    ||  ($uzanti== "php3")
    || ($_FILES["file"]["name"]==".htaccess")
    )
      {echo "bu dosya türünün yüklenmesine izin verilmiyor";


    Fakat şu aklıma geldi, şimdi upload için Gözat'a tıkladığımda sadece istediğim UZANTILAR (türler değil) görünebilir mi? Mesela uzantısı sadece Jpeg ve docx olanlar görünsün, doc, jpg ve geriye kalan tüm her şey görünmesin gibi. Mümkün müdür?
    Teşekkürler.
  • 29-03-2016, 14:47:41
    #2
    Üyeliği durduruldu
    gizemsiz adlı üyeden alıntı: mesajı görüntüle
    Merhaba.
    Php ile dosya yükleme yapıyorum ve kodlarım aşağıdadır.

    function upload ($dizin)
    {
    $uzanti=end(explode(".",strtolower($_FILES["file"]["name"])));
    //echo $uzanti;
    if (   ($uzanti== "jsp")
    ||  ($uzanti== "php")
    ||  ($uzanti== "pl")
    ||  ($uzanti== "htm")
    ||  ($uzanti== "html")
    ||  ($uzanti== "shtml")
    ||  ($uzanti== "cgi")
    ||  ($uzanti== "php3")
    || ($_FILES["file"]["name"]==".htaccess")
    )
      {echo "bu dosya türünün yüklenmesine izin verilmiyor";


    Fakat şu aklıma geldi, şimdi upload için Gözat'a tıkladığımda sadece istediğim UZANTILAR (türler değil) görünebilir mi? Mesela uzantısı sadece Jpeg ve docx olanlar görünsün, doc, jpg ve geriye kalan tüm her şey görünmesin gibi. Mümkün müdür?
    Teşekkürler.

    Sanırım front-end / html tarafında form elementleri kısmında yapılıyor öyle bir şey. Jpg/jpeg ve diğer uzantıları ekliyorsun form elementine tıklayınca da seçtiğin uzantılar gözüküyor kullanıcının seçme ekranında işletim sisteminde.
  • 29-03-2016, 17:38:23
    #3
    İşte bana o kodlar lazım, ben aradım ama bulamadım.
    Yardımcı olabilir misiniz?
    Teşekkürler.
  • 29-03-2016, 18:17:45
    #4
    Üyeliği durduruldu
    gizemsiz adlı üyeden alıntı: mesajı görüntüle
    İşte bana o kodlar lazım, ben aradım ama bulamadım.
    Yardımcı olabilir misiniz?
    Teşekkürler.
    Ben de bulamadım ki maalesef
  • 29-03-2016, 18:21:18
    #5
    Html tarafında böyle bir düzenleme yapmanız gerekiyor.
    <input type="file" accept="image/*"/>
    veya
    <input type="file" accept="image/jpeg, image/png"/>
  • 30-03-2016, 00:57:09
    #6
    @gizemsiz;

    xFactoria arkadaşın dediği gibi accept kodu ile yapabilirsiniz. Yalnız sadece html tarafında kontrol ile yaparsanız sistemde açık oluşturursunuz, ufak bir editleme ile php, cgi vb. gibi dosyalarıda upload edebilirler. Html tarafındaki acceptle birlikte yine php tarafındada ekstra kontrol yapmanızı öneririm.

    Ayrıca öneri olarak, güvenliği daha iyi sağlamak adına php tarafında da sadece yüklenen dosya adının uzantısına göre değil mime_type'ına görede kontrol sağlamanızı öneririm. mime_content_type fonksiyonu yardımcı olacaktır.
  • 30-03-2016, 10:23:31
    #7
    cevaplarınız için çok teşekkür ederim, php tarafında da ekstra güvenlik sağlarım.
    peki autocad dosyaları için tür nedir? resim için image/jpg peki ya autocad?

    autocad/dwg midir?
  • 30-03-2016, 16:03:06
    #8
    gizemsiz adlı üyeden alıntı: mesajı görüntüle
    cevaplarınız için çok teşekkür ederim, php tarafında da ekstra güvenlik sağlarım.
    peki autocad dosyaları için tür nedir? resim için image/jpg peki ya autocad?

    autocad/dwg midir?
    googleda uzantı ismi mime type diye aratırsanız sonuç bulabilirsiniz, örneğin dwg mime type diye aratın kaynaklar çıkmaktadır. Aşağıdaki şekilde birşey buldum belki işinize yarayabilir.

    application/acad, application/x-acad, application/autocad_dwg, image/x-dwg, application/dwg, application/x-dwg, application/x-autocad, image/vnd.dwg, drawing/dwg

    Kaynak: http://filext.com/file-extension/DWG