Noktaya

5 Cevap php

O (PHP kullanarak) bir dinamik olarak oluşturulan görüntü bir görüntü yönlendirmek mümkün mü?

Ben dinamik olarak oluşturulan bir imaja sahip ve (tabii ki) bir uzantısı ". PHP" vardır ve bu sunucu benim kontrolü altında değildir. Yani (benim sunucuda) "somename.jpg" yönlendirmek istiyorum ben hemen <img src="somename.jpg"/> olarak bağlayabilir ve edebilmeleri için (değil benim kontrolüm altında biraz uzak sunucuda) "remoteserver / dynamicimage.php" için dinamik olarak oluşturulan görüntü gösterilir.

Bu mümkün olup olmadığını bana bildirin lütfen.

5 Cevap

Tarayıcılar görüntüler için yönlendirmeleri takip eder. "Somename.jpg" adlı bir php dosyası oluşturun ve ekleyin:

<?php
header('Location: http://www.otherserver.com/image.php');

.. Php gibi jpg dosyayı işlemek için sunucu söyle bir htaccess dosyası Apache yönergesi ForceType kullanın:

<Files somename.jpg>
    ForceType application/x-httpd-php
</Files>

Eğer gerçekten. Jpg uzantısı ihtiyacınız yoksa ya da sadece dosya somename.php diyoruz.

Muhtemelen bunu denemedim rağmen, mod_alias de kullanarak bunu başarabilir:

Redirect somename.jpg http://www.otherserver.com/image.php

Bu aynı zamanda bir. Htaccess dosyasında giderdim.

Başlığı işlevi tarayıcı dosya türünü belirlemek için (ya da, herhangi bir durumda. Olmalı) Bu komut bir görüntü dosyası indirilecek oluşturuyor tarayıcı anlatmak yerine kullanılabilir kullandığı şeydir HTTP başlığı, kontrol HTML komut çıktısı:

header('Content-type: image/jpeg');
header('Content-Disposition: attachment; filename="somename.jpg"');

Senin. Htaccess dosyasına böyle bir şey eklemeyi deneyin

RewriteEngine on
RewriteRule ^(.*)\.jpg$ /scripts/$1.php

Bu mümkün ama bir HTTP yönlendirmesi neden olacaktır:

RewriteEngine on
RewriteRule ^somename\.jpg$ http://remoteserver/dynamicimage.php [L]

Sunucu uzak kaynak ister ve geri istemciye geçirir, böylece alternatif, ( bakın P bayrağı) bir proxy kullanmak olacaktır.

Başka çok daha karmaşık ama inanılmaz güçlü bir şekilde bu yerel görüntü konumu url için aktive olur bazı işleyici kod yazmak olacaktır.

Bu bir yabancı url veri almak ve doğru mim türü ile veri çıktısı olacaktır.

Bir de mümkün olabilir ne olursa olsun bu veri dayandırarak önbelleğe için bazı kod yazmak.

Bu şekilde görüntünün gerçek yerini vermek asla ve hatta sitenizde görünmesi gerekir logindata veya üçüncü parti çerezleri gibi bazı gizli kimlik kullanabilirsiniz.

Tüm bu sadece apache config bir yönlendirme yapılandırmak için daha sonra yapmak daha zordur. Biz url aksi özel bilgi sızıntısı olur durumlarda bu gibi şeyler yaptım.