PHP dosyası yüklenenler "kaçırıldı" ediliyor

3 Cevap php

Ben 30-40k fotoğraf alırken bir site yüklenenler bir gün var ve ben bir konu artık daha sıklığı ile açılır görmeye oldum. Bu sorun şudur:

Bizim yükleme komut ($ HTTP_POST_FILES üzerinden ['isim'] ['tmp_name']) kullanıcı tarafından yüklenen DEĞİLDİ bir dosyayı (fotoğraf) & alır Dosya alınan zaman çoğunluğu bir "kısmi" upload.

Tabii ki ilk başta basit bir hata yapma benim PHP kodu ve ben emin olmak için üzerinde seyir gün geçirdim, ama kodda kontrolleri yerleştirdikten sonra ben dosya PHP bir HTTP POST yükleme yoluyla alınan bulduk düşündüm aslında yanlış dosya. Benim kod ulaşmadan önce Yani sorun oluyor. Bu şekilde başka bir işlem tarafından üzerlerine ve genellikle kısmen yüklenen bir dosya üzerine yazılır sanki komut dosyası tarafından alınan tmp dosyası (phpxxxx), bazen yanlıştır.

Herkes her böyle bir sorunu gördü? Herhangi bir yardım büyük beğeni topluyor. Ben diğer PHP devs soran / aramalardan gün sonra son çare olarak bu dönüyorum

Böylece tekrarlamak için:

  • Kullanıcı bir fotoğraf yüklenenler
  • PHP komut dosyası (/ var / tmp $ HTTP_POST_FILES yoluyla, ön kodu) kullanıcı tarafından yüklenen olmayan bir dosyayı alır
  • Genellikle alınan yanlış dosya kısmi yükleme veya kırık upload
  • Bu rastgele değil, her zaman olur gibi görünüyor

3 Cevap

Eğer onun üzerine önlemek için geçici dosya için farklı adlar deneyebilir miyim? Eğer, yeni yanlış ve eksik dosyanın kaynağını tanımlayabilir misiniz?

Bu bir geliştirme ortamı var mı? Mümkün birden fazla kullanıcı aynı anda dosyaları yükleyerek mi?

SchizoDuckie dosyaboyutu sorunlar hakkında doğru olup olmadığını kontrol etmek için çok küçük görüntüleri ile programı deneyin.

Yerel bir sorundur kuşkusuz uzak olasılığını ortadan kaldırmak için farklı navigasyon ile deneyin.

Geçici dosya saklandığı dizinin izinlerini denetleyin.

Öncelikle, size PHP sürümünü kontrol edin.

İkinci olarak, dosya yükleme sınırlarını ve php.ini post_max_size kontrol

Bu sadece birisi çok büyük :-) bir dosyayı yüklemek için çalıştığı olabilir

PHP'nin yerleşik dosya taşıma kısmi yüklemelerini desteklemiyor.

Keepalives kapatın ve / veya 'Connection: close' göndermek başlık her yüklemeden sonra.

': Yok izin-aralıkları' başlığı göndermek için web sunucusu yapılandırın.