wbadrh / git-dl
Clone a Github repository with PHP & ZipArchive. Without using Git or exec()!
1.1.0
2022-06-26 01:12 UTC
Requires
- ext-zip: *
- league/flysystem: ^1.1.4 || ^3.0
This package is auto-updated.
Last update: 2024-10-26 06:40:18 UTC
README
Install with composer:
$ composer require wbadrh/git-dl
Example usage:
<?php $git = new GitDownload('/your/downloads'); $author = 'drhino'; $repository = 'git-dl'; $branch = 'master'; $path = $git->clone($author, $repository, $branch); // Prints: 'Saved to: /your/downloads/drhino/git-dl' echo "Saved to: $path";
How does it work?
The zip-archive is downloaded from Github. Then unpacked with ZipArchive.
From version 1.1.x and above; A stream is used to keep a low memory footprint.
After a succesful unpack, the downloaded archive is removed.
Cloning an existing repository updates to the latest version.
Changelog:
v1.1.0
- Uses a stream for writing.
- The PHP cURL extension is no longer used.
- Supports both Flysystem 1 and 3 (PHP 7 and 8).
- Returns the directory path on success.
- Throws Exception.
v1.0.2
- Fixes CVE-2021-32708.
v1.0.1
- Adds documentation.
v1.0.0
- Initial release.