Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

move_uploaded_file Fonksiyonunda Büyük Dosyaları Yüklememe Hatası

Konu, 'PHP' kısmında sametweb tarafından paylaşıldı.

  1. sametweb

    sametweb Üye

    Kayıt:
    15 Ağustos 2007
    Mesajlar:
    123
    Beğenilen Mesajlar:
    0
    Meslek:
    öğrenci..
    Şehir:
    esenler / istanbul
    Merhaba arkadaşlar.

    Aşağıdaki gibi küçük bir dosya upload kodum var. Dosya ekleme panelinde kullanmak üzere php.net'ten ve amatörce yazılmış bir scriptten derledim. Ancak şöyle bir sorun var;

    - Bazı dosyaları yüklüyor sorun çıkartmıyor.
    - 22,5 MB bir dosyayı yüklemeyi deniyorum, yüklenmiş gibi gösteriyor ancak klasöre kopyalamıyor.
    - 2 MB civarı bir dosyayı denediğimde ise dosya kopyalanamıyor döngüsünü çeviriyor.

    Burada eklemem gereken bi kontrol mekanizması mı var?

    Yardımlarını bekliyorum üstadlar!

    PHP:
    <form enctype="multipart/form-data" action="<?php echo $PHP_SELF?>" method="post">
    <input type="file" name="dosyayukle" /> <br>
    <input type="submit" value="Yolla!" />
    </form>

    <?php

    $nereye_kopyalanacak 
    "uploaded";

    $dosya_yolu "http://localhost/category/extended";

    if ( isset ( 
    $dosyayukle ) ) {

    move_uploaded_file($dosyayukle"$nereye_kopyalanacak/$dosyayukle_name") or die ("Dosya Yüklenemedi.");

    }

    echo 
    "<a href='".$dosya_yolu."/".$nereye_kopyalanacak."/".$dosyayukle_name."'>Dosyayı İndirmek İçin Tıklayın</a>";

    ?>
     
  2. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    PHP:

    <?php

    if(!isset($_POST['yolla']) ) {

    ?>

    <form enctype="multipart/form-data" action="<?php echo $PHP_SELF?>" method="post">
    <input type="file" name="category/extended/uploaded" /> <br>
    <input type="submit" name="yolla" value="Yolla!" />
    </form>

    <?php

    }else{

    $nereye_kopyalanacak "uploaded";

    $dosya_yolu "http://localhost/category/extended";


    if(
    is_uploaded_file($_FILES['category/extended/uploaded']['tmp_name']))
    {
    if(
    move_uploaded_file($_FILES['category/extended/uploaded']['tmp_name'],"category/extended/uploaded/".$_FILES['category/extended/uploaded']['name']))
    {

    }
    else
    {
    echo 
    "hata oldu";
    }
    }


    echo 
    "<a href='".$dosya_yolu."/".$nereye_kopyalanacak."/".$_FILES['category/extended/uploaded']['name']."'>Dosyayı İndirmek İçin Tıklayın</a>";


    }

    ?>


    dene bakalım...
     
  3. Raiden

    Raiden self.life.start()

    Kayıt:
    11 Ekim 2004
    Mesajlar:
    4,392
    Beğenilen Mesajlar:
    0
    Şehir:
    /home/Raiden
    php.ini de maximum upload limitin neyse o kadar dosya upload edebilirsin. dosya büyük olduğu için muhtmelen time-out oluyondur. bir de memory_limit ayarlarına göz atabilirsiniz.
     
  4. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad

    sorun kodda sanırım raiden...yukleme yapmaz o kod...
     
  5. sametweb

    sametweb Üye

    Kayıt:
    15 Ağustos 2007
    Mesajlar:
    123
    Beğenilen Mesajlar:
    0
    Meslek:
    öğrenci..
    Şehir:
    esenler / istanbul
    php.ini dosyasında, hangi değerde tutuluyor maximum upload limiti?

    Bir de, ben şu anda localhost'ta çalışıyorum. Sunucumda da php.ini'de maximum dosya upload boyutunda değişiklik yapmam bir risk oluşturur mu?
     
  6. Raiden

    Raiden self.life.start()

    Kayıt:
    11 Ekim 2004
    Mesajlar:
    4,392
    Beğenilen Mesajlar:
    0
    Şehir:
    /home/Raiden
    death evet belki yüklemez ama 22 mb dosyayı da yüklemez sanırım izin verilmediyse.

    upload_max_filesize

    bu ayarda belirtiyorsunuz default 2M
     
  7. sametweb

    sametweb Üye

    Kayıt:
    15 Ağustos 2007
    Mesajlar:
    123
    Beğenilen Mesajlar:
    0
    Meslek:
    öğrenci..
    Şehir:
    esenler / istanbul
    Hocam öyle diyorsun da, senin kod da yüklemedi. :)
     
  8. sametweb

    sametweb Üye

    Kayıt:
    15 Ağustos 2007
    Mesajlar:
    123
    Beğenilen Mesajlar:
    0
    Meslek:
    öğrenci..
    Şehir:
    esenler / istanbul
    Üstad eyvallah, maximum upload boyutunu ayarlayınca 2 küsur MB lik dosyayı yükledi. Ama 28 MB lik dosyayı yine yüklemedi. :garip:
     
  9. Emre

    Emre Üye

    Kayıt:
    28 Eylül 2004
    Mesajlar:
    248
    Beğenilen Mesajlar:
    0
    @deathisonitsway

    sorun kodda değil. fakat senin kullandığın gibi kullanmasında fayda var. raidenin dedigi gibi php.ini den ayarlanması gerekli.
     
  10. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad

    şimdi soyle diyim...raidenin dedigini elbette yapacaksın...eger ki sorun oradaysa...ama senin kodun calısmaz...benim kodumu ise ben deneyerek verdim sana...calısmayan kodu yazmadım...

    calısmamasının nedeni ne olabilir...anadizininin icinde category klasoru onun icinde extended klasoru onun icinde ise uploaded klasoru olmak zorunda

    bunlar varsa yukleme yapar.bir resim yukle ve gör sonucu.
     
  11. Raiden

    Raiden self.life.start()

    Kayıt:
    11 Ekim 2004
    Mesajlar:
    4,392
    Beğenilen Mesajlar:
    0
    Şehir:
    /home/Raiden
    samet 28 mb lık dosyayı yüklerken bir hata mesajı alıyor musun alıyorsa buraya yazar mısın.

    ( Emre hemşo naber :) sen bırakmamışmıydın bu işleri ? )
     
  12. Emre

    Emre Üye

    Kayıt:
    28 Eylül 2004
    Mesajlar:
    248
    Beğenilen Mesajlar:
    0
    bıraktımda çekiyor işte bi yandan hobi olarak uğraşacağım arada girip 3-5 bişey yazmaktan zarar çıkmaz. :)
     
  13. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad

    evet :) $dosyayukle_name havadan zembille ici doluyor :):)
     
  14. sametweb

    sametweb Üye

    Kayıt:
    15 Ağustos 2007
    Mesajlar:
    123
    Beğenilen Mesajlar:
    0
    Meslek:
    öğrenci..
    Şehir:
    esenler / istanbul
    @deathisonitsway

    Verdiğin kodu kontrol edermisin hocam, 23. satırda bi syntax error olduğu söyleniyor bana.

    @Raiden

    Hata mesajı almıyorum. Upload.php dosyayı yükler gibi yapıyor. Ama klasöre kopyalanmıyor.
     
  15. Emre

    Emre Üye

    Kayıt:
    28 Eylül 2004
    Mesajlar:
    248
    Beğenilen Mesajlar:
    0
    hayır @deathisonitsway

    Register Globals ile ilgili bir konu o. Havadan dolmuyor.
     
  16. Raiden

    Raiden self.life.start()

    Kayıt:
    11 Ekim 2004
    Mesajlar:
    4,392
    Beğenilen Mesajlar:
    0
    Şehir:
    /home/Raiden
    samet o zaman php.ini de

    memory_limit

    değerini yükseltip yeniden dene 16M veya 32M ise 64 veya 128M yapıp dene

    yüklemesi lazım
     
  17. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad

    dalga mı geciyon kardesim sen...:) gece gece...benim kod calısıyor...$dosyayukle_name i cinler doldurabilir senin verdigin kodla..baska kimse dolduramaz :)
     
  18. Raiden

    Raiden self.life.start()

    Kayıt:
    11 Ekim 2004
    Mesajlar:
    4,392
    Beğenilen Mesajlar:
    0
    Şehir:
    /home/Raiden
    ali pek ala doldurulabilir

    dosyayukle.php?dosya_name=abc
     
  19. sametweb

    sametweb Üye

    Kayıt:
    15 Ağustos 2007
    Mesajlar:
    123
    Beğenilen Mesajlar:
    0
    Meslek:
    öğrenci..
    Şehir:
    esenler / istanbul
    @Raiden hocam. memory_limit = 128M imiş zaten. upload_max_filesize = 128M yaptım. Ama o dosyayı hala yüklemedi.
     
  20. deathisonitsway

    deathisonitsway x-coder

    Kayıt:
    7 Kasım 2007
    Mesajlar:
    6,145
    Beğenilen Mesajlar:
    6
    Meslek:
    php-coder
    Şehir:
    abroad
    raiden yine ceza puanı yemeden ben kacayım ....haklısında bu adamın kodunda oyle bir şey yok...:):) ben kactım...