glicer / link-checker
Check broken links in html files, sitemap.xml and robots.txt
Installs: 13 106
Dependents: 0
Suggesters: 0
Security: 0
Stars: 28
Watchers: 3
Forks: 8
Open Issues: 0
Requires
- php: >=5.5
- glicer/simply-html: ^1.0
- guzzlehttp/guzzle: ^6.2
- symfony/console: ^2.3 || ^3.0
- symfony/finder: ^2.3 || ^3.0
Requires (Dev)
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^4.8 || ^5.7 || ^6.5
- symfony/process: ^2.3 || ^3.0
This package is not auto-updated.
Last update: 2025-01-15 07:26:54 UTC
README
Check broken links in html / json files, sitemap.xml, markdown and robots.txt.
It's working with :
Installation
This library can be found on Packagist.
The recommended way to install is through composer.
Edit your composer.json
and add :
{ "require": { "glicer/link-checker": "dev-master" } }
Install dependencies :
php composer.phar install
How to check links in html / json files ?
require 'vendor/autoload.php'; use GlLinkChecker\GlLinkChecker; use GlLinkChecker\GlLinkCheckerReport; use Symfony\Component\Finder\Finder; //relative url use host http://lyon.glicer.com to check link $linkChecker = new GlLinkChecker('http://lyon.glicer.com'); //construct list of local html and json files to check $finder = new Finder(); $files = $finder->files()->in('./public')->name("*.html")->name("*.json"); //launch links checking $result = $linkChecker->checkFiles( $files, function ($nbr) { // called at beginning - $nbr urls to check }, function ($url, $files) { // called each $url - $files : list of filename containing $url link }, function () { // called at the end } ); //convert $result array in a temp html file $filereport = GlLinkCheckerReport::toTmpHtml('lyonCheck',$result); //$filereport contain fullpath to html file print_r($filereport);
you can view $filereport with your browser
How to check links in robots.txt and sitemap files ?
require 'vendor/autoload.php'; use GlLinkChecker\GlLinkChecker; $linkChecker = new GlLinkChecker('http://lyon.glicer.com'); $result = $linkChecker->checkRobotsSitemap(); print_r($result);
GlLinkChecker::checkRobotsSitemap() return an array like :
$result = [ 'disallow' => ['error' => ['/img/', '/download/']], 'sitemap' => [ 'ok' => [ '/sitemap.xml' => [ 'ok' => [ '/index.html', '/section/probleme-solution/compresser-css-html-js.html' ] ] ] ] ];
Running Tests
Launch from command line :
vendor\bin\phpunit
License MIT
Contact
Authors : Emmanuel ROECKER & Rym BOUCHAGOUR