نشير إلى العلامة إلى صورة ديناميكيا بواسطة PHP؟

StackOverflow https://stackoverflow.com/questions/806599

  •  03-07-2019
  •  | 
  •  

سؤال

هل من الممكن إعادة توجيه صورة إلى صورة ديناميكيا (باستخدام PHP)؟

ولدي صورة إنشاؤه بشكل حيوي ولها امتداد "فب" (من الواضح) وذلك الملقم ليس تحت سيطرتي. لذلك أريد أن إعادة توجيه "somename.jpg" (في خدمة بلدي) ل"remoteserver / dynamicimage.php" (في بعض الملقم البعيد يست تحت سيطرتي) لدرجة أنني على الفور يمكن ربطه كما <img src="somename.jpg"/> ويتم عرض الصورة ديناميكيا .

واسمحوا لي أن أعرف إذا كان ذلك ممكنا.

هل كانت مفيدة؟

المحلول

والمتصفحات يلي الموجهات للصور. إنشاء ملف بى يسمى "somename.jpg" وإضافة:

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

استخدم أباتشي التوجيه ForceType في هتكس ملف اخبار الخادم لمعالجة ملف .jpg كما فب:

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

وأو مجرد دعوة somename.php الملف إذا كنت لا تحتاج حقا .jpg والتمديد.

وربما يمكن أن ينجز ذلك باستخدام mod_alias كذلك ، على الرغم من أنني لم أحاول ذلك:

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

وهذا من شأنه أن يذهب في ملف .htaccess كذلك.

نصائح أخرى

وظيفة رأس تسيطر على رأس HTTP، وهو ما يستخدم المستعرض لتحديد نوع الملف (أو ينبغي، على أي حال.) ويمكن استخدامه لتخبر المتصفح أن السيناريو هو توليد ملف صورة ليتم تحميلها بدلا من إخراج البرنامج النصي HTML:

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

وحاول إضافة شيء من هذا القبيل لملف .htaccess الخاص بك

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

ولكن من الممكن أن يؤدي إلى إعادة توجيه HTTP:

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

وبديل سيكون لاستخدام وكيل (انظر < وأ href = "http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule" يختلط = "نوفولو noreferrer"> P العلم )، بحيث يطلب الخادم الخاص بك على مورد بعيد و يمر مرة أخرى إلى العميل.

وسيلة قوية أخرى أكثر تعقيدا من ذلك بكثير ولكن لا يصدق سيكون لكتابة بعض رمز معالج الذي يحصل على تنشيط لهذا رابط صورة موقع محلي.

وهذا واحد من شأنه جلب البيانات من رابط الأجانب وإخراج البيانات مع الحق في نوع التمثيل الصامت.

واحد يجب أيضا كتابة بعض الرموز لتخزين هذه البيانات مستندة على كل ما قد يكون ممكنا.

وبهذه الطريقة انك لن التخلي عن الموقع الحقيقي للصورة، وحتى يمكن استخدام بعض أوراق سرية مثل logindata أو ملفات تعريف الارتباط الطرف الثالث الذي يجب أن لا تظهر على موقع الويب الخاص بك.

كل هذا هو أصعب بكثير أن تفعل ذلك لمجرد تكوين إعادة التوجيه في التهيئة اباتشي. فعلنا مثل هذه الاشياء في الحالات التي تسرب عنوان الموقع على المعلومات خاصة على خلاف ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top