grubersjoe / bing-daily-photo
A class to fetch Bing's image of the day with meta data
Installs: 10 269
Dependents: 0
Suggesters: 0
Security: 0
Stars: 36
Watchers: 6
Forks: 6
Open Issues: 0
Requires
- php: ^8
- ext-intl: *
- ext-json: *
Requires (Dev)
README
BingPhoto is a simple PHP class to fetch Bing's image of the day with meta data.
It is also possible to cache the images locally, which can be useful in combination with a periodic cronjob. See the cacheDir
parameter for this (optional) feature. Disclaimer: this might be a copyright issue.
Installation
Use Composer to install this package:
composer require grubersjoe/bing-daily-photo
Basic usage
<?php $bing = new BingPhoto(); $image = $bing->getImage(); // Example result ($image) [ [startdate] => '20160913' [fullstartdate] => '201609130700' [enddate] => '20160914' [url] => 'http://www.bing.com/az/hprichbg/rb/Meteora_EN-US6763889417_1920x1080.jpg' [urlbase] => '/az/hprichbg/rb/Meteora_EN-US6763889417' [copyright] => 'Roussanou and other monasteries in Metéora, Greece (© Stian Rekdal/Nimia)' // ... ]
Parameters / options
Parameter | Description | Default | Valid values |
---|---|---|---|
cacheDir |
Directory for image caching | null |
An existing directory, otherwise the directory will be created if possible |
date |
Date of photo | BingPhoto::DATE_TODAY |
BingPhoto::DATE_YESTERDAY BingPhoto::DATE_TODAY BingPhoto::DATE_TOMORROW any integer >= -1 |
locale |
Locale code | Locale::getDefault() |
Whatever language Bing supports |
n |
Number of photos to fetch, going from date backwards | 1 | 1 - 8 |
orientation |
Image orientation | BingPhoto::ORIENTATION_LANDSCAPE |
BingPhoto::ORIENTATION_LANDSCAPE , BingPhoto::ORIENTATION_PORTRAIT |
quality |
Image resolution | BingPhoto::QUALITY_HIGH |
BingPhoto::QUALITY_LOW BingPhoto::QUALITY_HIGH |
Examples
// Fetches two images of the day starting yesterday from Bing $bing = new BingPhoto([ 'n' => 2, 'date' => BingPhoto::YESTERDAY ]); foreach ($bing->getImages() as $image) { printf('<img src="%s">', $image['url']); }
// Fetches the current image of the day in low resolution from the French Bing portal $bing = new BingPhoto([ 'locale' => 'fr-FR', 'quality' => BingPhoto::QUALITY_LOW, ]); printf('<img src="%s">', $bing->getImage()['url']);
// Fetches three images of the day in high quality from the German Bing portal, starting yesterday $bing = new BingPhoto([ 'n' => 3, 'date' => BingPhoto::YESTERDAY, 'locale' => 'de-DE', 'quality'r => BingPhoto::QUALITY_HIGH, ]); foreach ($bing->getImages() as $image) { printf('<img src="%s">', $image['url']); }
// Fetches the current image of the day in portrait orientation $bing = new BingPhoto([ 'orientation' => BingPhoto::ORIENTATION_PORTRAIT ]);
// Using the local cache $bing = new BingPhoto([ 'cacheDir' => '/tmp/bing-photo', 'n' => 5, 'quality' => BingPhoto::QUALITY_LOW, ]);