كيف يمكنني الحصول على رابط لصورة على ويكيبيديا من صندوق المعلومات؟

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

سؤال

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

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

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

المحلول

هل جربت http://en.wikipedia.org/wiki/File:filename.jpg ؟حتى لو كانت الملفات موجودة على Wikimedia Commons، فيجب أن يظل عنوان URL أعلاه يعمل.

يحرر:هل تحاول ربط الصورة الساخنة؟إذا كان الأمر كذلك، فإن ويكيبيديا تحظر الروابط الساخنة. http://commons.wikimedia.org/wiki/Commons:Reusing_content_outside_Wikimedia#Hotlinking

تحديث 10 يناير 2019: الارتباط الساخن هو مسموح به الآن:

Hotlinking أو InstantCommons:من الممكن استخدام الملفات مباشرة على العموم داخل موقع ويب آخر ، عن طريق إعداد Wiki MediaWiki مع InstantCommons ، ...

نصائح أخرى

ووفقا ل ما هي مكونات اسمه الغريب في مسارات الملفات ويكيبيديا ، ل تحتاج إلى تشغيل MD5 لمعرفة رابط. الآن ويكيبيديا يسمح روابط مفيدة، لذلك:

إذا كان لديك UTF-8 $name مشفرة، تحتاج إلى القيام بما يلي:

$filename = replace($name, ' ', '_');
$digest = md5($filename);
$folder = $digest[0] . '/' . $digest[0] . $digest[1] . '/' .  urlencode($filename);
$url = 'http://upload.wikimedia.org/wikipedia/commons/' . $folder;

والشيء نفسه يمكن استخدامها للمصغرات.

وهنا هو تطبيق جافا سكريبت لإجابة PHP العمل (اعتمادات ليوري Baburov):

var name = "filename.jpg";
var filename = name.replace(/ /g, "_"); 
var digest = md5(filename);
var folder = digest[0] + '/' + digest[0] + digest[1] + '/' + encodeURIComponent(filename);
var url = 'http://upload.wikimedia.org/wikipedia/commons/' + folder;

ملحوظة التي يجب أن تشمل وظيفة md5() الخارجية ( https://github.com/blueimp/JavaScript-MD5 )؛ أنها ليست أصلية في JS.

توجد الآن طريقة أبسط لربط الملفات الموجودة على ويكيبيديا باستخدام الملف خاص: مسار الملف صفحة.ومن ثم، إذا كنت تريد ربط الملف example.jpg على ويكيبيديا الإنجليزية، فيمكنك استخدام https://en.wikipedia.org/wiki/Special:FilePath/Example.jpg.

يجب أن تعمل الروابط المشابهة مع مواقع مؤسسة ويكيميديا ​​الأخرى (مثل.ز.ويكيميديا ​​​​كومنز).

يمكن العثور على التفاصيل والتوصيات المتعلقة بالارتباط السريع على ويكيميديا المشاعات: إعادة استخدام المحتوى_خارج_ويكيميديا.

ولقد لاحظت أن البادئة URL يجب أن تكون:

http://upload.wikimedia.org/wikipedia/en/thumb/

وعلاوة على ذلك يجب أن يحتوي المجلد اسم المتكرر للملف مع الحجم المحدد كما البادئة:

http://upload.wikimedia.org/wikipedia/en/thumb/d/dd/Ruins-imperial-complex-milan-.jpg/220px-Ruins-imperial-complex-milan-.jpg

$filename = replace($name, ' ', '_');
$digest = md5($filename);
$urlencfile =  urlencode($filename)
$imgwidth = 220
$folder = $digest[0] . '/' . $digest[0] . $digest[1] . '/' . $urlencfile . '/' . $imgwidth . 'px-' . $urlencfile;
$url = 'http://upload.wikimedia.org/wikipedia/en/thumb/' . $folder;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top