Come posso ottenere un collegamento a un'immagine su Wikipedia dalla casella informativa?
-
06-07-2019 - |
Domanda
Sto analizzando le caselle informative di Wikipedia e ho notato che alcune caselle informative hanno campi immagine - questi campi contengono nomi di file immagine nascosti su Wikipedia da qualche parte. Tuttavia, contengono semplicemente il nome del file e non il collegamento effettivo.
Ho controllato i collegamenti delle immagini su vere info box dal vivo e i collegamenti non sembrano provenire da una fonte ma le fonti variano. Come posso fare un collegamento ipertestuale a un'immagine su Wikipedia considerando che ho solo il nome dell'immagine da una voce di infobox.
Soluzione
Hai provato http://it.wikipedia.org/wiki/File:filename.jpg
? Anche se i file si trovano su Wikimedia Commons, l'URL di cui sopra dovrebbe comunque funzionare.
Modifica: stai cercando di collegare a caldo l'immagine? In tal caso, Wikipedia proibisce il collegamento a caldo. http://commons.wikimedia.org/wiki/Commons:Reusing_content_outside_Wikimedia#Hotlinking>
Aggiornamento 10-gen-2019: l'hotlinking è ora consentito :
Hotlinking o InstantCommons : è possibile utilizzare i file direttamente su Commons all'interno di un altro sito Web, creando un wiki MediaWiki con InstantCommons, ...
Altri suggerimenti
Secondo Quali sono i componenti dal nome strano nei percorsi dei file Wikipedia , tu è necessario eseguire md5 per scoprire l'URL. Ora Wikipedia consente il collegamento a caldo, quindi:
Se hai codificato utf-8 $ name
, devi fare quanto segue:
$filename = replace($name, ' ', '_');
$digest = md5($filename);
$folder = $digest[0] . '/' . $digest[0] . $digest[1] . '/' . urlencode($filename);
$url = 'http://upload.wikimedia.org/wikipedia/commons/' . $folder;
Lo stesso può essere usato per le miniature.
Ecco un'implementazione JavaScript di una risposta PHP funzionante (crediti a Yuri 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;
Nota che devi includere la funzione md5 ()
esterna ( https: // github.com/blueimp/JavaScript-MD5 ); non è nativo di JS.
Esiste ora un modo più semplice per collegare a caldo i file su Wikipedia utilizzando Special: FilePath pagina. Quindi, se vuoi collegare il file Example.jpg su Wikipedia in inglese, puoi usare https://en.wikipedia.org/wiki/Special:FilePath/Example.jpg
.
Collegamenti simili dovrebbero funzionare per altri siti della Wikimedia Foundation (ad esempio Wikimedia Commons).
Dettagli e raccomandazioni riguardanti il ??hotlinking sono disponibili su .
Ho notato che il prefisso URL dovrebbe essere:
http://upload.wikimedia.org/wikipedia/en/thumb/
Inoltre la cartella deve contenere il nome ripetuto del file con una dimensione specificata come prefisso:
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;