PHP dosya yapısını saklanması

3 Cevap php

Dosyaları ile birlikte, bir dosya yapısını saklamak için en iyi yolu nedir, bir Zip dosyası demek? Şu anda her dosya MySQL veritabanında bir satır olduğunu, ama belli ki hiç bir yapı olduğu okunabilir. Ben bir ikili dosya depolamak önlemek istiyor. Tüm dosyalar düz metin olmalıdır. Her zip / dosya yapısı sunmuştur kullanıcıya özeldir.

3 Cevap

Eğer yapı isterseniz, bir dizin tablo ve bir dosya tablo olabilir. Sonra kök her bir dizin için 0 bir üst kimliği olurdu. Ve sonra bunun altında her dizin bu ebeveyn bulunuyor ebeveyni kimliği var.

O zaman nerede olduklarını belirtmek için dosyalar dizini id verir.

Ben kayıt 'tipini' belirtmek için gösterge sütunları ile, tek bir tablo kullanırsanız buna rağmen benim öneri, Ólafur Waage benzer olacaktır.

id - Primary Key
parent_id - FK to self (id)
type - enum('D', 'F')
name - varchar
content - BLOB (if you wanted to ever store the file contents).

Bu MySQL için burada ek bilgi bulabilirsiniz, hiyerarşik bir ağaç yapısı, aşağıdaki gibidir: http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

En kolay yolu (belki de iyi değil) sonra db, sonra her dosya üzerine bu klasöre göre yolu almak ve başka bir sütunda (örneğin 'yol') olarak saklayın sen dizin ağacının 'kök' klasörünü belirlemek için tablo. Daha sonra aynı dizin yapısını oluşturmak için bu değerler üzerine bakabilirsiniz.