Nasıl benim web uygulaması merkezi ve sanely yüklenenler işlemek gerekir?

2 Cevap php

Ben temelde çok özel bir CMS olan, bir web uygulaması oluşturma. Bu MVC desenine göre yapı (özelliklerini önemli değil gerçi) Codeigniter PHP ile yazılmış ve bir oluyor.

Bu webapp birçok kişiler yüklenenler, örneğin sayfa, makaleler vs için yetenek gerektirir

Ben kendi üzerinde çalışıyor bir yükleme denetleyicisi var. Bu fonksiyonları nasıl bir yükleme hakkında meta veri kayıtları bir medya tablosu var ve bu o zaman böylece articles_media, {[(1 etc bir makale / sayfa, belirli bir medya öğesi Haritayı diğer tabloların bir dizi )]} vb Bu tablolar, bir media_id içeren ve bir article/page/etc_id

Ben açıkça bir article_create görünümü vardır bu yüzden, örneğin, bir resim yüklemek için izin pop açılır yükleme denetleyiciye bir bağlantı vardır uygulaması boyunca yükleme kodu kopyalayıp yapıştırmak istemiyorum.

Bu sorun olduğunu size spesifik yüklenen medya haritasına yükleme denetleyicisi geçirilen kimlik yok yani aslında vb haber / sayfa oluşturduk olmayan bir görüntüyü yüklemek istediğiniz hangi noktada makale / sayfa vs

Tamamen deli hissediyor Benim "çözüm", yüklenenler gerektiren modellere is_published alanını eklemek ve anında {[(1)] hariç tüm boş değerleri ile bunu oluşturmak için oluşturmak sayfasına geldiğinizde } ve sonra ben aktarıcı geçirebilirsiniz bir kimliği var.

Bu çalışmaları yapıyor ama yeni başlayanlar için ben [potansiyel] veritabanında birçok boş satır ile sonuna kadar gidiyorum, alt-optimal hissediyor.

Nasıl mantıklı insanlar normalde bu ele do? Ben, herhangi bir özel uygulama yardıma ihtiyaç yok ben gerekli PHP kendim bulurum ama benim beyin genel soruna mantıklı bir çözüm ile gelip görünmüyor olabilir.

... Ben medya, articles_media ve makaleler arasında benim eşleme temiz olduğunu düşündüm ama belki bu da sorunun bir parçasıdır?

Teorik olarak sadece vb bir madde ile bir yükleme olabilir olduğu kadar uygulamada da bu aslında, oldukça sınırlı olması gerekiyordu olsa bir kullanıcı, medya dosyalarını rasgele sayıda upload edebilmek olmak istiyorum

Ben bilinçli görüşler seviniriz - Ben sadece kendim ile gelip görünmüyor olabilir bu soruna bir [görece] basit "en iyi uygulama" olduğunu varsayarak yaşıyorum.

2 Cevap

Ben isteği bitirmek kullanıcı ve - bunu yapmak için en iyi yol hakkında fikir bir yeri vardır, ben birini kullanıyorsanız ve hangi beni hiç yarı yolda bırakmadı ben de 1 kadar yüklenenler saklamak benim dosya tablonun aşağı elimden sürümünü oluşturmak için Tüm bilgi, 2 ile final masasına dosyayı taşıyabilirsiniz -, 3 kullanıcı iptal eder ve ben bırakın - kullanıcıyı yapar ne ve bir cron bir hafta diyelim, sonra o kadar temizler.

Bu birden fazla dosya kullanıcı bitirmeden tarayıcıyı kapatmadan, (bir formu "daha fazla medya eklemek" sağlayabilir böylece tüm aynı istek üzerine bile), "nihai" dosyalar geçici olanlar ile karışık değil aynı medya yükleme kolları ne yaptığını EKT, sen (cron o kadar temiz olur) Şişirilmiş bir dosya tablosunu almak anlamına gelmez ...

Ve Yaptığınız ne olursa olsun seçim, ben tecrübe ile size yardımcı olabilir: "is_published" yol geçmeyin. Bunu istemiyorum. Cidden, sen çalışırsanız kendinizi nefret edeceksin.

Ben daha fazla araştırma ile fazladan birkaç seçenek ortaya ettik ama hala makul bir çözüm ne olduğu açık değilim.

Bir sürü insan JS / Ajax kullanarak düşündüren, ve ben bu nasıl çalıştığını tamamen açık değilim, bu yardımcı olabilir ve ben Uploadify içine bakmaya gidiyorum. Bir çözüm olarak bu konuda herhangi bir düşünce? Ayrıca, ben JS kullanarak muhtemelen incelikle aşağılamak kolay olacak değil ki midly endişeliyim.

Bir başka ihtimal, sadece DB doğrudan görüntü saklamak için ama ben dosya yükleme biçimleri aslında çalışmak ve olsun veya olmasın başka bir genel yönteme geçmek için $ _POST [] veri dosya verilerini ayıklamak nasıl çok parçalı hakkında net değilim yüklenenler gerektiren her denetleyici kullanabilirsiniz ki. Herkes bu konuda daha fazla bilgi sağlayabilir eğer bu harika olurdu.

Potansiyel Ben sadece oturumu veri görüntü id saklamak olabilir ama bu 'hacky' biraz hissediyor?