Kayıt sayfası için en iyi uygulama PHP kullanarak vurur?

4 Cevap php

Ben sayfalara hit sayısını kaydetmek istiyorum ve ben düz dosya tabanlı veya SQLite depolama ya düşünüyorum.

File-based option
A file includes only an integer incremented with each page visit and every page has a unique file name. If I open a file using a mode, I can write but is it possible to not to close it in order to save from opening and closing the file each time?

SQLite option
A simple table with columns PageName and Hits. Same question again is it possible to not to close it in order to save from opening and closing the db each time?

4 Cevap

Eğer gerçekten in-house bunu yapmak varsa, sqlite yöntemi ile gitmeli. (Nedeniyle veritabanı dosyası açılırken için) küçük bir havai var iken, aynı zamanda yapılandırılmış veri depolama önemli faydaları olabilir.

Örneğin, bir tarih alanı ekleyin ve sonra her sayfa için ne olursa olsun veri / aylık / saatlik / günlük alabilir.

Ayrıca, her ziyaretçi için IP adresini ekleyin ve sonra ziyaret verilerini ayıklamak. Bu şekilde kolayca site kullanıcıların davranışları hakkında veri ayıklamak.

Ayrıca ziyaretçilerin 'user-agent ve OS saklamak olabilir, bu yüzden size hedef ya da olmamalı tarayıcıları biliyorum.

Sonuçta, bir veritabanına veri bu tür ekleme saçmadır. Bu çalışma için biraz zaman ayırın eğer, bu verilerden bir çok şey öğrenebilirsiniz. Onlar işlemek için kolay madem bu nedenle, veri tabanları, genellikle gitmek için yoludur.

Google Analytics. Eğer need in-house bunu sürece.

PHP kendi çözüm Rolling istediğiniz kadar basit veya karmaşık olabilir. Sen, (her zaman güvenilir değil) ip adresini saklamak için sayfa konumu ve tarihi bir tablo oluşturabilirsiniz. Bu, her gün için benzersiz isabetleri izlemek için izin verecektir. Sen basit bir satır kayıtların miktarını azaltmak için bir görev planlamak isteyebilirsiniz date, numOfUnique.

Başka bir yöntem log dosyalarını ayrıştırma. Siz de bu 24 saatte ya da bunu yapabilirdi.

Bu vakaların hiçbirinde mümkün değil. PHP uygulamaların kullanıcı onlardan bir şey istediğinde, onlar sonucu üretmek çalıştırın ve sonra kapanır edilir. Eğer yakın db bağlantısı veya dosya olmasa bile bu yüzden otomatik olarak kapalı olacaktır. Açılış db bağlantısı ya da yazmak için bir dosya bir sorun olacağını Ama neden bilmiyorum?

Bu (Google Analytics kullanarak daha iyi olabileceğini Jonathan Sampson'ın Yorumlarınız dışında) bekliyorsanız ne kadar trafik yokluğunda özellikle yararlı cevaplar vermek zor.

File-based option:

Ben açık dosyayı tutmak mümkün olduğunu sanmıyorum. Eğer kilitleme mekanizması çeşit istihdam sürece Ayrıca, muhtemelen eşzamanlı yazma sorunları toslayacaktım.

SQLite option:

Ben zaten bir veritabanı açık yok ettik, bu, muhtemelen gitmek için yol olduğunu düşünüyorum. Ben açma / db her zaman kapanan bir darboğaz olacak şüphe - o ve profil deneyin.