gbv / image-attribution
从维基共享资源获取图片归属信息
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ^5.5
This package is auto-updated.
Last update: 2024-09-11 17:14:38 UTC
README
这个PHP库提供了一个方法来检索从维基共享资源获取图片正确归属所需的信息。
动机
维基共享资源包含图片和其他可自由使用的媒体文件。有些文件可以在没有任何条件下使用(公有领域),其他文件则根据开放内容许可进行许可。根据特定的许可,必须对原始作者给予适当信用,或命名特定许可。维基共享资源包括如何给予适当信用的指南,但没有简单的方式来查找给定图片的机器可读格式的归属要求。
有一种方法可以通过维基共享资源API检索一些许可信息,但API难以找到和查询,其返回格式过于冗长,并且没有经过进一步处理就不能使用。例如,许可证有几种不同的拼写方式("CC-BY-SA-3.0","CC BY-SA 3.0"...),字段值可能包含HTML标签。
要求
需要PHP 5.6或更高版本,并启用allow_url_fopen
。
安装
使用composer
$ composer require gbv/image-attribution
或手动复制文件 src/image-attribution.php
和 src/identify-open-content-license.php
。
使用方法
使用自动加载
require 'vendor/autoload.php';
或使用传统方式包含库文件
require_once 'src/image-attribution.php';
然后使用函数 commons_image_attribution
$attribution = commons_image_attribution("Loewe_frontal.JPG");
图像可以传递为文件名、完整图像URL或图像页面URL。如果值为 null
,则返回一个随机图像。如果找到有许可证的图像,则返回一个包含以下字段的数组
示例
目录 example
包含一个查询图像归属信息的Web服务(index.php
),以JSON格式返回。该服务部署在https://image-attribution.herokuapp.com/,但可能会偶尔变慢或宕机。如果您需要经常使用它,请自行安装在您的服务器上!以下是一个例子
目录 bin
包含一个获取图像归属的命令行脚本
./bin/image-attribution Wikimedia-logo.svg