Bir tarayıcıda büyük metin dosyası görüntüleniyor

3 Cevap php

Ben bir tarayıcı kullanmak için bir metin dosyası görüntüleyici (değil dizin ağacı, ancak gerçek dosya içeriğini) yazmak gerekir. Bu büyük dosyaları görüntülemek için kullanılabilir olacaktır. Ben kullanıcı aslında ummm, dosyayı göz atmak yeteneği, yani önceki sayfa vermek istiyorum & sonraki sayfa düğmeleri, her sayfa dosyasının yalnızca bir bölümünü gösterir ise.

İki soru:

  • POST (veya bir şey) aracılığıyla dosya tanıtıcı geçmek için yine de var mı ki, her sayfada (tekrar - büyük dosyaları) zaten açık bir dosyadan okuma tutmak ve her şeye yeniden başlamak olamaz
  • Dosyayı geriye doğru okumak için bir yolu var mı? Geri dosya tarama için çok yararlı olacaktır.

Başka herhangi bir uygulama düşüncelerin çok açıktır. Teşekkürler

3 Cevap

Istekleri arasında açık dosyayı tutmak iyi bir fikir değil - sadece korumak ofset ve fseek() ofset atlamak için kullanın - Eğer "her şeye yeniden başlamak" zorunda değilsiniz. Bu şekilde, aynı zamanda "geriye doğru atlama" uygulayabilirsiniz.

Bir zamanlar küçük dosyalar halinde büyük dosyaları kesin, sonra kullanıcıya küçük dosyaları hizmet vermektedir.

Sen sayfalamayı düşünmelisiniz. "Ileri" çok sık tıklamanız gerek sinirli olmak kullanıcı hakkında endişeleriniz varsa, (yani normal bir okuyucu sayfaları her 20 dk), her parça oldukça büyük yapabiliriz.

Başka bir seçenek Yığın-Endoding transferi türüdür: Wikipedia Entry. Bu sunucu hızla yanıt ve kullanıcıya ağa (yerine dosyayı okumak ve bir kerede tüm göndermeye gerek server) üzerinde dosyanın geri kalanını akarsuları ise okumak için bir şey vermek için izin verecek. Bu dramatik normalde dosyaları hizmet kıyasla algılanan performansını artırmak, ama yine de sunucu için çok fazla bant genişliği tüketir olabilir.

Sen JavaScript ve AJAX ile büyük bir belge simüle etmek mümkün, ama sadece daha iyi performans için bir seferde parçaları göndermek olabilir.

Belgenizin değerinde bir kaç sayfa gönderme ve tarayıcınızın kaydırma olay dinleyicileri bağlama düşünün. Zamanla veya kullanıcı verilirse olarak aşağı daha fazla parçalar ajax. Bu gibi, bir kaç can sıkıcı UX kenar durumlarda oluşturur:

  • Scroll bar indicates a much smaller document than there actually is
    • Birçok sayfa sonları ile belgenizin alt doldurarak bunu önlemek mümkün olabilir, ama bu uzunluk mükemmel yapmak zor olacak.
  • Scrolling past the point of currently-available content will show a blank page.
    • JavaScript kullanarak bu algılar ve kullanıcı neler bildirmek için bir "yükleme" simgesi görüntüler olabilir.
  • Built-in "find" feature doesn't work
    • Sert tüm belgeyi indirmeden kullanıcı olmadan bunu önlemek için, ama onları (iyi ama belki de yeterli değil) yerine kullanmak için kendi arama özelliği sağlayabilir.

Gerçekten de, muhtemelen orta ölçekli sayfaları ile pagination ile kapalı en iyi konum. Bu bir çok iyi anladım tasarım deseni bulunuyor nispeten kolay (en azından diğer seçeneklere göre) uygulamak ve hızlı yapmak için.

Umarım ki olur!