Video: PHP de dosyaya yazma ve dosyadan okuma 2024
Birçok uygulama uzun süreli bilginin depolanmasını gerektirir. PHP betiklerinde, kullanıcıların web sitenize harcadığı süreyi oturumlar dahilinde - PHP oturumu işlevleri gibi yöntemleri kullanarak ve form göndererek kullanılabilir hale getirebilirsiniz. Bununla birlikte, sonunda, yarın veya gelecek hafta kullanılacak bilgileri saklamanız gerekir. Oturum bittikten sonra da devam etmeyi ayarladığınız bir tanımlama bilgisine kaydedebilirsiniz, ancak bilgiler savunmasızdır. Sizin kontrolünüz altında değil. Kullanıcı bilgileri istediği zaman silebilir veya değiştirebilir veya çerezi kabul etmeyi reddedebilir. Elde edebilmek ve istikrarlı olabilmesi için, bilgilerin kimsenin erişemeyeceği veya kurcalamayacağı güvenli bir yerde saklanması gerekir. Bilgilerin sunucu üzerinde depolanması gerekir.
Bilgiler sunucuda düz dosyalarda veya veritabanlarında saklanabilir. Düz dosyalar bilgisayar dosya sisteminde saklanan metin dosyalarıdır. İnsanlar düz dosyaları Linux ve Unix'te kedi gibi dosyaları görüntüleyen işletim sistemi komutlarını kullanarak okuyabilir. Bu dosyalara, Not Defteri veya vi gibi herhangi bir metin dosyası düzenleyicisini kullanarak erişebilir ve düzenleyebilirsiniz. Düz dosyadaki bilgiler dizeler halinde saklanır ve veriyi alır PHP betiği, verilerin nasıl saklandığını bilmek ister. Örneğin, bir dosyadan müşteri adı almak için, PHP betiğinin müşteri adının her satırın ilk 20 karakterinde saklandığını bilmeleri gerekir.
Veri depolama için bir veritabanı kullanmak, MySQL veya Oracle gibi veritabanı yazılımlarını kurmanızı ve kullanmayı öğrenmenizi gerektirir. Veriler, veritabanı yazılımı tarafından oluşturulan dosyalarda saklanır ve yalnızca veritabanı yazılımı tarafından erişilebilir. Veritabanları, kolayca alabileceğiniz çok karmaşık bilgileri depolayabilir. Verilerin nasıl saklandığını, sadece veritabanı yazılımıyla nasıl etkileşime girdiğini bilmek zorunda değilsiniz. Örneğin, bir müşteri adını almak için, PHP betiği, SQL adlı standart bir iletişim dili kullanarak, müşteri adını istediğini veritabanı yazılımına nasıl söyleyeceğini bilmelidir. Veritabanı yazılımı, belleğin tam olarak nerede veya nasıl müşteri adının saklandığını bilmesine gerek kalmadan depolamayı yönetir ve verileri gönderir.
Düz dosyalar veritabanına göre bazı avantajlara sahiptir:
- Kullanılabilir ve çok yönlü: Verileri herhangi bir işletim sisteminin dosya sisteminde oluşturabilir ve kaydedebilirsiniz. Ekstra bir yazılım yüklemenize gerek yoktur. Ayrıca, düz dosyalarda saklanan metin verileri kelime işlemci veya elektronik tablolar gibi çeşitli yazılım programları tarafından okunabilir.
- Kolay kullanım: Veritabanı yazılımı yüklemek, bir veritabanı tasarlamak, bir veritabanı oluşturmak gibi ek hazırlıklar yapmak zorunda değilsiniz. Sadece dosyayı oluşturun ve verileri PHP komut dosyanızdaki ifadelerle saklayın.
- Daha küçük: Düz dosyalar, veritabanlarından daha az disk alanı kullanarak verileri depolar.
Düz bir dosya hızlı ve kolaydır ve bir veritabanından daha az yer kaplar. Basit bir liste veya küçük bilgi parçası gibi küçük miktarda bilgiyi hızlı bir şekilde depolamak için idealdir. Düz dosyalar, bir düzenleme programı veya bir elektronik tablo gibi diğer yazılıma bilgi sağlamak için özellikle yararlıdır. Düz dosyalar, saklandıkları bilgisayar dizinine erişimi olan herkes tarafından bakılabilir; bu nedenle, bilgilerin diğer insanlar tarafından erişilebilir kılınması gerektiğinde yararlıdırlar.
Veri tabanları bazı avantajlara sahiptir:
- Güvenlik: Bir veritabanı, işletim sisteminin sağladığı güvenliğe ek olarak kendi güvenlik katmanını sağlar. Veritabanı, veriyi dışarıdaki saldırıdan düz bir dosyadan daha iyi korur.
- Verilere erişilebilirlik: Verileri veri türleri ve veri ilişkileri belirten çok karmaşık bir veri yapısı kullanarak verileri bir veritabanında depolayabilirsiniz. Verilerin organizasyonu veriyi aramayı ve ihtiyacınız olanı bulmayı kolaylaştırır.
- Birden fazla kullanıcıyı idare edebilme yeteneği: Birçok kullanıcı adları ve adresleri içeren bir dosya gibi verileri tek bir dosyada saklamış veya bunlara eriştiğinde, bir veritabanı, kullanıcıların birbirlerinin verilerini üzerine yazmasını önlemek için dosya ile sıralarını almalarını sağlar.
Veritabanları daha fazla başlatma çabası gerektirir ve düz bir dosyadan daha fazla alan kullanır, ancak karmaşık bilgileri işlemek için çok daha uygundur. Veritabanı, verilerin iç organizasyonunu ele alır ve veri alımını çok daha basit hale getirir. Bir veritabanı, daha hassas, özel bilgiler için daha uygun hale getirmek için daha fazla güvenlik sağlar. Birçok kullanıcı verilere neredeyse eşzamanlı olarak erişmeyi denediğinde, veri tabanları yüksek trafiği daha kolay ve verimli bir şekilde idare edebilir.
PHP 5'de, düz dosyaların ve veritabanlarının temel avantajlarını birleştiren veri depolama alanı için bir uzantı olan SQLite, varsayılan olarak bulunur. SQLite verileri düz bir dosyada saklar, bu nedenle veritabanı yazılımını kurmanız gerekmez, ancak standart veritabanı iletişim dili olan SQL'i kullanarak verileri saklarsınız. SQLite, SQL kullanarak düz bir dosyada az miktarda veri depolamak ve almak için hızlı bir seçenektir. SQLite gerçekten büyük, karmaşık veritabanları için iyi bir seçenek değildir.