• 30-08-2010, 12:13:40
    #1
    Kaynak : http://www.erguner.net/php/scriptler...cripti-yapalim
    Download Script : http://hotfile.com/dl/65718841/941bde5/upload.rar.html

    Kullanıcılarımızın sitemize dosya yüklemelerini istediğimiz zaman, file upload scriptlerine başvururuz. Bunları sitemize entegre olarak sağlamamız gerektiğinde bu scriptlerin en basitine ulaşmamız gerekir. Çünki scriptin en basit hali daha rahat entegre edilir.

    Şimdi sizlere file upload yapısını en basit şekilde anlatacağım. Öncelikle bir html kullanarak bir dosya yükleme form u yapalım.

    <html>
    <body>
    <form action="yukle.php" method="post"
    enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file" />
    <br />
    <input type="submit" name="submit" value="Submit" />
    </form>
    </body>
    </html>
    Yukarıda bir dosya yükleme formu oluşturduk. ve yukle.php’ye dosyayı gönderiyoruz.

    <?php
    if ($_FILES["file"]["error"] > 0)
      {
      echo "Hata: " . $_FILES["file"]["error"] . "<br />";
      }
    else
      {
      echo "Dosya: " . $_FILES["file"]["name"] . "<br />";
      echo "Tip: " . $_FILES["file"]["type"] . "<br />";
      echo "Boyut: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
      echo "Nerede: " . $_FILES["file"]["tmp_name"];
      }
    ?>
    Yukarıda yukle.php dosyamızın kodlarını görüyorsunuz, Şimdi bu dosyamızda ki tüm değerleri bi inceleyelim.

    * $_FILES["file"]["name"] – dosyamızın adı
    * $_FILES["file"]["type"] – dosyamızın tipi
    * $_FILES["file"]["size"] – dosyamızın boyutu
    * $_FILES["file"]["tmp_name"] – Dosyaların geçici olarak saklandığı yer
    * $_FILES["file"]["error"] – bir hata durumunda alacağım sonuç

    Şimdi yükleme ile ilgili sınırlamalarımız olacak, onları inceleyelim!

    <?php
    if ((($_FILES["file"]["type"] == "image/gif")
    || ($_FILES["file"]["type"] == "image/jpeg")
    || ($_FILES["file"]["type"] == "image/pjpeg"))
    && ($_FILES["file"]["size"] < 20000))
      {
      if ($_FILES["file"]["error"] > 0)
        {
        echo "hata: " . $_FILES["file"]["error"] . "<br />";
        }
      else
        {
        echo "dosya: " . $_FILES["file"]["name"] . "<br />";
        echo "tip: " . $_FILES["file"]["type"] . "<br />";
        echo "boyut: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
        echo "nerede: " . $_FILES["file"]["tmp_name"];
        }
      }
    else
      {
      echo "geçersiz dosya";
      }
    ?>
    Şimdi yukarıdaki yapıda, bir üstteki yukle.php ye ek olarak if yapısıyla dosyamızın uzantısını kontrol ettiriyoruz. ve sadece gif/jpeg/pjpeg dosyaları ile boyutu 20000 byte ın altında olan dosyaların ilerlemesini sağlıyoruz.
    NOT : $_FILES["file"]["size"] her zaman byte açısından sonuç verir, /1024 yaparak kb değerine ulaşabiliriz.
    Şimdi yukarıdaki dosyayı, kalıcı olarak bi klasöre alacağız. Ve Upload işlemimizi sonuçlandıracağız.

    <?php
    if ((($_FILES["file"]["type"] == "image/gif")
    || ($_FILES["file"]["type"] == "image/jpeg")
    || ($_FILES["file"]["type"] == "image/pjpeg"))
    && ($_FILES["file"]["size"] < 20000))
      {
      if ($_FILES["file"]["error"] > 0)
        {
        echo "hata: " . $_FILES["file"]["error"] . "<br />";
        }
      else
        {
        echo "dosya: " . $_FILES["file"]["name"] . "<br />";
        echo "tip: " . $_FILES["file"]["type"] . "<br />";
        echo "boyut: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
        echo "nerede: " . $_FILES["file"]["tmp_name"];
    
        if (file_exists("upload/" . $_FILES["file"]["name"]))
          {
          echo $_FILES["file"]["name"] . " zaten var. ";
          }
        else
          {
          move_uploaded_file($_FILES["file"]["tmp_name"],
          "upload/" . $_FILES["file"]["name"]);
          echo "Başarılı : " . "upload/" . $_FILES["file"]["name"];
          }
        }
      }
    else
      {
      echo "Geçersiz dosya";
      }
    ?>
    Bir önce yukle.php ye ek olarak geçici klasöre aldığımız dosyayı kendimiz için belirlediğimiz bir klasöre taşıyacağız. Yukarıda şimdi file_exists(“upload/” . $_FILES["file"]["name"]) komutuyla upload dizinimizde aynı dosya varmı kontrol ediyoruz. Eğer yoksa, move_uploaded_file($_FILES["file"]["tmp_name"],”upload/” . $_FILES["file"]["name"]); komutuyla dosyamızı geçici klasörümüzden upload klasörümüze taşıyoruz. Hepsi bu kadar!

    NOT : upload klasörümüz geçici klasörümüzün CHMOD değeri 777 olmalıdır!
  • 30-08-2010, 12:21:04
    #2
    Üyeliği durduruldu
    Başlangıç Olarak İyi Bir Anlatım Fakat bu Scriptle Yapılan uploadlar zamanla çalışmamaya başlayabilir Neden derseniz yüklediğiniz resimlerde türkçe karakter olabilceğinden
    Ayça.jpg gibi bir resimde mesela
    +Rep Hakkındır
  • 30-08-2010, 12:28:55
    #3
    TurkishDizayn adlı üyeden alıntı: mesajı görüntüle
    Başlangıç Olarak İyi Bir Anlatım Fakat bu Scriptle Yapılan uploadlar zamanla çalışmamaya başlayabilir Neden derseniz yüklediğiniz resimlerde türkçe karakter olabilceğinden
    Ayça.jpg gibi bir resimde mesela
    +Rep Hakkındır
    İyi fikir, hemen türkçe karakter temizleme scriptini anlatayım. Teşekkürler.
  • 30-08-2010, 12:35:57
    #4
    Üyeliği durduruldu
    =) Anlatıp bu Scripte entegre Etmen iyi olucaktır bunu kullanan olabilir
  • 30-08-2010, 12:43:20
    #5
    Script'e entegre etmeyeyim de Anlatımını yapalım.

    https://www.r10.net/php/722830-php-il...temizleme.html

    Yukarıdaki Linkte anlatımını yaptım. Dosya isimlerini bu fonksyionlar ile temizleyebilirsiniz!