Bir php komut dosyası aracılığıyla bir kaynak almak nasıl?

1 Cevap php

Benim web uygulamasında aşağıdakileri yapmaya çalışıyorum:

<img src="static.example.com/image01.jpg?width=300&height=300" />

Bunun yerine sadece dosyasını sunan bir. Jpg (ya da ben seçtim herhangi filetype) erişirken bir PHP komut dosyası çalıştırmak (paylaşılan bir barındırma ortamında Apache kullanabilirsiniz) benim sunucu olması mümkün mü?

Ben PHP komut dosyası ben sadece ilk etapta çalıştırmak olabilir merak ediyorum, vb doğru başlıklarını ayarlamak zorunda olduğunu biliyoruz.

Ben bu kadar yapılabilir biliyorum:

<img src="static.example.com/get_image.php?name=image_01.jpg&width=300&height=300" />

ama ben bunu istiyorum nasıl değil.

1 Cevap

Eğer bir alt dizininde, ya da diğer tüm static.example.com yapıyor olacak sağlanan mod_rewrite kullanabilirsiniz.

Bu alt dizininde. Htaccess Zsh'da.

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{query_string} ^height=([^&]+)&width=([^&]+)
   RewriteRule (.*\.jpg|.*\.png|.*\.gif) controller.php?name=$1&height=%1&width=%2
</IfModule>

EDIT: Yukarıdaki deneyin. Her şey gibi, denenmemiş ... :)

GET parametrelerin sırası önem kazanmaktadır.

test.jpg?height=100&width=120

dönüştü almalısınız

controller.php?name=test.jpg&height=100&width=120


Another approach would be to make apache serve .jpg as php scripts for that directory. Just look in your httpd.conf or php.conf and look for .php. Find that directive, and duplicate it within a <Directory> for .jpg. I've never actually tried this for a single directory, but ultimately it would be faster than the mod_rewrite route.

Gibi bir şey:

<Files *.jpg>
SetOutputFilter PHP
SetInputFilter PHP
</Files>
AddType application/x-httpd-php .jpg