dinamik dosya sistemi görüntüleri depolamak nasıl?

4 Cevap php

biz otel rezervasyonu için bir web sitesi oluştururken. biz resim sayıda saklamak gerekir. biz sisteminde görüntüleri depolamak ve veritabanı yolunu depolamak için daha iyi bir seçenek olacağını düşünüyorum. Ama biz bunları manuel olarak kaydetmek gerekiyor? Biz görüntüleri elde etmek için başka bir web sitesinden web hizmetleri kullanıyor. dosya sistemindeki dinamik görüntüleri kaydetmek için bir yolu var mı?

4 Cevap

PHP'nin dosya içeriğini işlevi veya tüm diske istediğiniz görüntü veya sadece müşterilerine yabancı görüntüyü atıfta indirmek için CURL almak kullanabilir ve sunucuda yerel bunları saklamak gerekmez.

İsterseniz Python eğer gerekiyorsa XML Ayrıştırma Mecanize lib ve BeautifulSoup edin.

Veritabanında saklanması vs diskte saklanması bu beneficts bulunuyor vardır. Eğer ölçek gerekiyorsa, kolay ve her zaman bir lighttpd ya da görüntüleri adanmış bir nginx http sunucuları var ya da sadece bant genişliği dengelemek için diğer sunucu üzerinde ortaya koyabilirsiniz.

Bu veritabanına bağlıdır, ve nasıl görüntüleri hizmet vermekteyiz. Genel olarak bu müşteriye teslimi nasıl bağlı diske görüntüleri kaydetmek için iyidir.

Görüntüleri alma genellikle sunucu sitelerinden indirerek ve bunları kaydetme bazı sürecinin bir konudur. Birçok sistemleri hakkında Eğer görüntüleri indirmek ve onları kurtarmak için wget ya da curl kullanabilirsiniz.

Ayrıca veri alma nasıl bağlıdır. Bu XML ya da bir şey yoluyla bazı satır içi ikili ise, o zaman uygulama dilinin özelliklerini kullanarak bu ayıklamak gerekiyor, ve diske kaydeder.

Çılgınca uygulama dil ve hosting işletim sistemine bağlı olarak değişiklik yapmak nasıl mekaniği.

Ben ilk dosya sistemi konumu boş ile birlikte, veritabanındaki hem uzak (web hizmeti) ve lokal (dosya sistemi) konumunu saklamak gerektiğini düşünüyorum. Bir kullanıcı ilk defa bir görüntü isterse, karşıdan dosya alanı güncellemek ve bunu göstermek. Bu konsepti ile sadece müşterilerine ihtiyaç görüntüleri var olacaktır.

Sen görüntüleri kaydetmek için S3 kullanabilirsiniz. Görüntüleri kaydetme / silme kovaları işlemek için izin orada mevcut S3 kütüphaneler vardır.

Aşağıdaki gibi adımlar şöyle olacaktır:

  • fopen, file_get_contents, curl (ne olursa olsun tercih) web hizmeti belirtilen URL'den dosya içeriğini almak kullanarak.
  • Bir PHP S3 sınıfını kullanarak, dosyaya benzersiz bir ad vererek, S3 dosya içeriğini koymak
  • DB görüntü adını saklamak

Not: tam yolunu tasarruf etmeyin. Hiç bir nedenle görüntü sunucularını değiştirmek için ihtiyacı olsaydı, bir sunucu adı filtrelemek zorunda istemiyorum. Aksine kodunda sabit kullanın: define( "IMG_SERVER", "http://imagserver.s3.amazonaws.com/" ); ve mağaza 2009/07/hampton_inn_90210.jpg DB.

You can thumbnail images using the PHP GD library (overlay a branded PNG). Google "php thumbnail library," there are good ones out there.