• 16-10-2015, 14:39:09
    #1
    Arkadaşlar biraz uzun bir sorum var dikkat verip okuyabilirseniz çok makbule geçer. Bir manga(çizgi roman) okuma sitemiz var. Sitemizin sunucusunda mangalara ait klasorler var ve her manga klasörünün içinde o mangaya ait bölüm klasörleri var. Bölümler klasörlerinin içindede o bölüme ait resimler var. Böyle binlerce resim var diyebilirim. Şuan ki web sitemiz PHP ile oluşturuldu ve ben bunu AngularJS kullanarak yeniden kodluyorum. Resimleri görüntülemek içinse Seri ismi, bölüm, resimlere ait yollar olmak üzere MYSQL e kaydetmeyi düşünüyorum. Aşağıdaki resimde olduğu gibi:




    MYSQL e kaydedilen resim yollarını is JSON olarak çekip AngularJS de kullanıyorum. Şimdi sorum şu ki binlerce resmin yolunu querylemek sıkıntı olur mu? Bir kere kaydettik diyelim siteye FTP den bölüm yüklediğimizde bütün resimleri tekrar querylemek mi zorundayız? Sadece değişen klasörleri querylemek için ne yapmak gerekir?
  • 16-10-2015, 15:13:07
    #2
    Mehaba,
    Resim gözükmüyor. Belki soru ondan açık gelmemiştir bilemiyorum.
    manga->bölüm->resimler şeklinde bir klasör hiyerarşiniz var demişsiniz. veritabanı yapınızı buna uygun kurarsanız elbette querylediğinizde sorun olmaz. yapınızı bilmiyorum fakat ben olsam kategori ve alt kategori organizasyonunu bir tabloda yaparken resimleri ayrı bir tabloda tutardım. tek bir tabloda bütün kategori->altkategori->resim şeklinde içinde çokca metnin tekrara düştüğü satırlara tabloyu boğmazdım. kaldı ki muhtemelen bu satırlara sadece read yapacaksınız. onun için uzun yolu da deneseniz sorun yaşamazsınız tabi eğer tablo yapınız hatalı değilse ve join'lerle query'nizi hatalı oluşturmazsanız.

    Tokay adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar biraz uzun bir sorum var dikkat verip okuyabilirseniz çok makbule geçer. Bir manga(çizgi roman) okuma sitemiz var. Sitemizin sunucusunda mangalara ait klasorler var ve her manga klasörünün içinde o mangaya ait bölüm klasörleri var. Bölümler klasörlerinin içindede o bölüme ait resimler var. Böyle binlerce resim var diyebilirim. Şuan ki web sitemiz PHP ile oluşturuldu ve ben bunu AngularJS kullanarak yeniden kodluyorum. Resimleri görüntülemek içinse Seri ismi, bölüm, resimlere ait yollar olmak üzere MYSQL e kaydetmeyi düşünüyorum. Aşağıdaki resimde olduğu gibi:




    MYSQL e kaydedilen resim yollarını is JSON olarak çekip AngularJS de kullanıyorum. Şimdi sorum şu ki binlerce resmin yolunu querylemek sıkıntı olur mu? Bir kere kaydettik diyelim siteye FTP den bölüm yüklediğimizde bütün resimleri tekrar querylemek mi zorundayız? Sadece değişen klasörleri querylemek için ne yapmak gerekir?
  • 16-10-2015, 16:51:02
    #3
    bluexpres adlı üyeden alıntı: mesajı görüntüle
    Mehaba,
    Resim gözükmüyor. Belki soru ondan açık gelmemiştir bilemiyorum.
    manga->bölüm->resimler şeklinde bir klasör hiyerarşiniz var demişsiniz. veritabanı yapınızı buna uygun kurarsanız elbette querylediğinizde sorun olmaz. yapınızı bilmiyorum fakat ben olsam kategori ve alt kategori organizasyonunu bir tabloda yaparken resimleri ayrı bir tabloda tutardım. tek bir tabloda bütün kategori->altkategori->resim şeklinde içinde çokca metnin tekrara düştüğü satırlara tabloyu boğmazdım. kaldı ki muhtemelen bu satırlara sadece read yapacaksınız. onun için uzun yolu da deneseniz sorun yaşamazsınız tabi eğer tablo yapınız hatalı değilse ve join'lerle query'nizi hatalı oluşturmazsanız.
    Linki güncelledim. Cevap için teşekkürler. Benim asıl takıldığım nokta sunucuya yeni dosya eklendiğinde nasıl bir query çalıştırmam gerekecek. Sadece eklenen dosyaları Mysql e eklemesi gerekecek.
  • 16-10-2015, 21:06:53
    #4
    anladığım kadarıyla ortada bir yapı yok henüz. onun için net yanıt veremiyorum. sonuç olarak bir bölümün görselleri gönderilirken hangi bölüme gidiyorsa onun kategorisi de bölümü de bellidir. haliyle upload edilen görseller de tarif ettiğim gibi ilgili kategori->bölüm ile ilişiklendirilir.

    güncellediğiniz görsel hala gözükmüyor. mevcut bir siteniz varsa paylaşırsanız biraz daha isabetli yanıtlar alabilirsiniz. bu şekilde ben mevzuyu anlamadım haliyle net bir şey de söyleyemiyorum

    kolaylıklar.

    Tokay adlı üyeden alıntı: mesajı görüntüle
    Linki güncelledim. Cevap için teşekkürler. Benim asıl takıldığım nokta sunucuya yeni dosya eklendiğinde nasıl bir query çalıştırmam gerekecek. Sadece eklenen dosyaları Mysql e eklemesi gerekecek.
  • 16-10-2015, 22:48:25
    #5
    bluexpres adlı üyeden alıntı: mesajı görüntüle
    anladığım kadarıyla ortada bir yapı yok henüz. onun için net yanıt veremiyorum. sonuç olarak bir bölümün görselleri gönderilirken hangi bölüme gidiyorsa onun kategorisi de bölümü de bellidir. haliyle upload edilen görseller de tarif ettiğim gibi ilgili kategori->bölüm ile ilişiklendirilir.

    güncellediğiniz görsel hala gözükmüyor. mevcut bir siteniz varsa paylaşırsanız biraz daha isabetli yanıtlar alabilirsiniz. bu şekilde ben mevzuyu anlamadım haliyle net bir şey de söyleyemiyorum

    kolaylıklar.
    hizliresim.com yüklüyorum bu sefer.

    Hocam bölümleri FTP den upload etmek istiyoruz. Çok fazla yüklenecek bölüm olduğu için teker teker tarayıcı arayıcılığı ile yüklemek çok zor olur. Yani FTP den bir bölüm attık diyelim sunucuya MYSQL i nasıl güncellicez tekrar baştan hepsini güncellemeden.
  • 16-10-2015, 23:35:14
    #6
    Evet resim şimdi açıldı. Bakın tablonuza dikkat ederseniz seri ve klasor olduğu gibi yol satırında yer alıyor. Muhtemelen tüm datalarda da bu rutin vardır. Siz bu satırları görüntüleme yaparken çekiyorsunuz. Haliyle yolu; seri ve klasör datalarından oluşturabilirsiniz. yol içinde onları tekrar yazmanıza gerek yok.

    İkincisi o kısa resimden gördüğüm kadarıyla resimler 00'dan başlayıp ilerliyor. Eğer hep bu şekildeyse orada da bir rutin var demektir. Değilse de performans açısından tüm yapınızı bu şekilde düzenleyebilirsiniz. Size büyük kolaylık ve hız kazandıracaktır

    Yapıyı doğru kurmaktan kastım bu işte. Eğer bu şekilde rutinleriniz varsa tüm resimleri satır satır saklamak yerine
    id manga klasoru resim sayisi
    15 naruto 300 45
    16 naruto 301 30

    gibi bir yol izleyebilirsiniz. ilgili satırı çektiğinizde resim sayısına bakar basit bir döngü ile resimleri dizdirirsiniz. yolu da manga ve klasor'e göre oluşturursunuz.

    Resimleri ftp'den attıktan sonra minik bir php dosyasını çalıştırarak eklediğiniz yeni mangayı insert ettirebilirsiniz. mevcut bir admin paneliniz var mı bilmiyorum. mangayı eklemek için bir formunuz varsa oraya yol şeklinde bir textfield ekleyin. daha sonra manga eklenmeden önce o yola php ile erişerek içindeki resim sayısını saydırın ve insert edin.

    Yani ortada ne json oluyor ne de her resim için 1 satır.

    Eğer resim isimlerinin 00'dan başlayıp ilerlemesinde yanılıyorsam o durumda şuanki yapınızda bir sorun yok. Sorun eğer ftp'den eklenen mangaların db'ye eklenmesi ise, yine aynı mantıkta manga eklettirdiğiniz formda ftp klasöründeki resimleri glob ile çektirerek satır satır "mevcut yapınızda olduğu gibi" eklettirebilirsiniz.


    Kolaylıklar.
  • 17-10-2015, 00:46:42
    #7
    Bana soracak olursanız hiç ftp ile uğraşmayın kolay gibi gelsede doğru şekilde yazılmış bir resim upload sınıfı ile hem performans sağlarsınız hemde tüm resimlerinizi tek seferde yüklemiş olursunuz. Manga okuyan birisi olarak şunu tavsiye ederim.

    Mangaları bir tabloda tutun ;

    One piece
    Naruto
    Death note

    Küçük bir betik yazarak ;

    Manga ismi -> selectbox
    Bölüm sayısı -> İnput

    şeklinde 2 alan oluşturun ve resimleri multi upload ile gönderin. Resimler upload edilsin multi uploaddan dönen dizilerdende isimleri veritabanına işleyin. En basit manga okuma mantığı bu şekilde kurulur tabi aklımdakileri tam olarak yazıya dökememiş olabilirim ama yükleme kısmını düz mantık bu şekilde kurabilirsiniz. 1 mangayı yüklemeniz bağlantı hızınıza bağlı 1 dakika sürecektir.

    Okuma kısmındaki json sorunuz için de eğer hitleriniz çok çok yüksek olmayacaksa zaten bu kadar küçük bir sorgu sizi yormaz velevki sıkıntı çıkartacak olursada tavsiyem sql cache tarzı bir class kullanın sorgu 1 kere çalışıp kalan işlemlerde dosya üzerinden gerçekleşsin sorunsuzca kullanırsınız.
  • 17-10-2015, 01:29:32
    #8
    Big_Turk adlı üyeden alıntı: mesajı görüntüle
    Bana soracak olursanız hiç ftp ile uğraşmayın kolay gibi gelsede doğru şekilde yazılmış bir resim upload sınıfı ile hem performans sağlarsınız hemde tüm resimlerinizi tek seferde yüklemiş olursunuz. Manga okuyan birisi olarak şunu tavsiye ederim.

    Mangaları bir tabloda tutun ;

    One piece
    Naruto
    Death note

    Küçük bir betik yazarak ;

    Manga ismi -> selectbox
    Bölüm sayısı -> İnput

    şeklinde 2 alan oluşturun ve resimleri multi upload ile gönderin. Resimler upload edilsin multi uploaddan dönen dizilerdende isimleri veritabanına işleyin. En basit manga okuma mantığı bu şekilde kurulur tabi aklımdakileri tam olarak yazıya dökememiş olabilirim ama yükleme kısmını düz mantık bu şekilde kurabilirsiniz. 1 mangayı yüklemeniz bağlantı hızınıza bağlı 1 dakika sürecektir.

    Okuma kısmındaki json sorunuz için de eğer hitleriniz çok çok yüksek olmayacaksa zaten bu kadar küçük bir sorgu sizi yormaz velevki sıkıntı çıkartacak olursada tavsiyem sql cache tarzı bir class kullanın sorgu 1 kere çalışıp kalan işlemlerde dosya üzerinden gerçekleşsin sorunsuzca kullanırsınız.
    Doğru diyosun hocam. Şuan ki sunucuda bulunan dosyaları bir kere querylerim. Daha sonra tek tek eklenen bölümleri input ile sunucuya aktarır yollarınıda veritabanına yazdırırım. Fakat takıldığım nokta şu, mesela bir seferde birden fazla klasör seçerek upload etmek mümkün mü? Mesela bazen olcak 10 bölüm upload etcez birikmiş mangaları. O zaman tek tek uğraşmak gerekmicek mi?

    Edit-1: Şöyle bir HTML tagı varmış ama benim işimi görür mü bilmiyorum. webkitdirectory denen bir tag. Directory upload etmek içinmiş sanırım.

    <input type="file" name="files[]" id="files" multiple="" directory="" webkitdirectory="">
    .
    .
    .
    .
    Şurdada bir örneği var:http://jsfiddle.net/Z4Amr/4/

    Ama fiddleda resimlerin hepsini toplu upload ediyor bir dosyaya sanırım. Dosya isimlerini alıp o isimde phpde o isimde dosya oluşturup o dosyaya ait resimleri oraya kaydettirmek gerekiyor sanırım. Baya karışık gibi.
  • 17-10-2015, 03:40:47
    #9
    Tokay adlı üyeden alıntı: mesajı görüntüle
    Doğru diyosun hocam. Şuan ki sunucuda bulunan dosyaları bir kere querylerim. Daha sonra tek tek eklenen bölümleri input ile sunucuya aktarır yollarınıda veritabanına yazdırırım. Fakat takıldığım nokta şu, mesela bir seferde birden fazla klasör seçerek upload etmek mümkün mü? Mesela bazen olcak 10 bölüm upload etcez birikmiş mangaları. O zaman tek tek uğraşmak gerekmicek mi?

    Edit-1: Şöyle bir HTML tagı varmış ama benim işimi görür mü bilmiyorum. webkitdirectory denen bir tag. Directory upload etmek içinmiş sanırım.

    <input type="file" name="files[]" id="files" multiple="" directory="" webkitdirectory="">
    .
    .
    .
    .
    Şurdada bir örneği var:http://jsfiddle.net/Z4Amr/4/

    Ama fiddleda resimlerin hepsini toplu upload ediyor bir dosyaya sanırım. Dosya isimlerini alıp o isimde phpde o isimde dosya oluşturup o dosyaya ait resimleri oraya kaydettirmek gerekiyor sanırım. Baya karışık gibi.
    Php ile klasör uploadı yapmanız mümkün değil ( ftp class'ı tarzı bir class kullanırsanız olabilir ama pire için yorgan yakmak olur ) webkitdirectory bildiğim kadarıyla dosya ağacı şeklinde seçim yapmanızı sağlıyor yani 1 klasörü seçip içerisindeki tüm dosyaları seçmenizi sağlıyor. Buda birden fazla klasör atacak olursanız işinize yaramaz.

    Yukarıdaki tavsiyemi veritabanı kullanacağınızı varsayarak vermiştim ama ben bu tarz bir betik yazacak olsam ve ftp ile çok klasör atacaksam hiç veritabanına bulaşmadan php dosya işlemleri ile işlerimi hallederim şöyle düşünün mangalar klasör olarak elinizde var sonuçta;

    Mangalar
    |
    |
    Naruto -> 1 -> 01.jpg , 02.jpg , 03.jpg...
    One piece -> 1 -> 01.jpg , 02.jpg || 2-> 01.jpg , 02.jpg

    Bu yapıda klasör ağacınız olduktan sonra file komutu ile dosya içeriklerini okutun manga okuma kısmında önce mangayı seçtirin,

    Manga seçildiğinde file komutu ile klasöre girip sayıları file komutu ile çektirin;

    Sayı seçildiğinde de sayfaları file komutu ile çektirip link vererek okunmasını sağlayın. Bu kısma kadar hiç veritabanı kullanmadan okuma kısmını hallettik. Veritabanı kullanmak istiyorum derseniz de bir betik ile tüm işlemleri okutup json şeklinde mangalara kaydedin şöyle ;

    İd - Manga İsmi - Json
    1 - Naruto - Json Verisi

    Json'u da alın direk sorguya gönderin.

    Özetle file yapısını doğru kurduktan sonra gerisi sizin fantazinize kalmış Tek yapmanız gereken dosyaları ilgili manga içerisine bölüm bölüm atmak yani

    55-56-57-58 şeklinde klasörlere gönderin sistem file komutu ile okuyup mangayı güncellesin...