Nasıl programlı benim Drupal sitesinde kamuya açık bir yerde bir görüntü saklayabilirsiniz?

2 Cevap php

Kullanıcıların (HTML olarak biçimlendirilmiş) içeriği aşağı göndermek Drupal modülü yazıyorum. Içeriği hemen hemen her zaman <img> etiketleri içerecektir. Bu etiketler kullanıcının sunucusu referans olacaktır. Ama kullanıcının sunucuyu bu içeriği istenen her zaman vurmak istemiyorum; Benim sunucuda bir sürümünü hizmet etmek istiyorum.

Yani, <img> etiketleri için HTML üzerinden bakmak ve daha sonra yerel olarak onları kurtarmak için cURL kullanılacak işlevi yazdım. Tüm iyi - benim yerel dosya sisteminde, Drupal çılgın URL yeniden yazma sayesinde görüntüleri depolamak için nerede anlamaya olamaz hariç. İdeal Zaten web üzerinden erişilebilir ve herhangi bir yeni dizinleri oluşturmak zorunda olmayan bir dizin onları koymak olabilir.

Herhangi bir düşünce?

TIA,
Benjy

PS: Ben resim satır içi göstermek gerekir gibi bir ImageField kullanmak gerçekten mümkün değil. Teşekkürler!

2 Cevap

Teorik olarak, Webroot altına herhangi bir yere koymak gerekir ve onlar servable olacak, ama normal, içerik görüntüleri (tema görüntüleri aksine) genellikle yapılandırılmış sizin files dizininde gitmek olarak /sites/default/files. Ben genellikle, bazı yapı eklemek için bir alt klasör koymak, bu yüzden /sites/default/files/images/scraped (ya da herneyse) onları koymak istiyorum.

Not: Eğer file_directory_path ile dosya yolunu alabilirsiniz. Ayrıca file handling api bakmak olabilir.

neden drupal dizine koymak değil mi? Varsayılan, sites / default / dosyaları