{"id":16232951,"url":"https://github.com/mmoreram/extractor","last_synced_at":"2025-07-20T20:32:23.714Z","repository":{"id":20204680,"uuid":"23476107","full_name":"mmoreram/extractor","owner":"mmoreram","description":"Compressed files extractor for PHP","archived":false,"fork":false,"pushed_at":"2020-05-14T11:08:38.000Z","size":42,"stargazers_count":21,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-25T22:49:09.145Z","etag":null,"topics":["php","rar","tar","zip"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mmoreram.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-29T19:58:08.000Z","updated_at":"2024-04-10T00:17:31.000Z","dependencies_parsed_at":"2022-09-03T21:24:20.940Z","dependency_job_id":null,"html_url":"https://github.com/mmoreram/extractor","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/mmoreram/extractor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmoreram%2Fextractor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmoreram%2Fextractor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmoreram%2Fextractor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmoreram%2Fextractor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmoreram","download_url":"https://codeload.github.com/mmoreram/extractor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmoreram%2Fextractor/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266193768,"owners_count":23890860,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["php","rar","tar","zip"],"created_at":"2024-10-10T13:10:46.888Z","updated_at":"2025-07-20T20:32:23.688Z","avatar_url":"https://github.com/mmoreram.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Extractor library for php\n=========================\n\nThis library extracts your files from compressed packages and returns a Symfony\nFinder instance, ready to be managed\n\n[![SensioLabsInsight](https://insight.sensiolabs.com/projects/6de61eb0-a424-48bc-9683-24252bd7b0d5/mini.png)](https://insight.sensiolabs.com/projects/6de61eb0-a424-48bc-9683-24252bd7b0d5)\n[![License](https://poser.pugx.org/mmoreram/extractor/license.png)](https://packagist.org/packages/mmoreram/extractor)\n\n# Installing/Configuring\n\n## Tags\n\n* Use last unstable version ( alias of `dev-master` ) to stay in last commit\n* Use last stable version tag to stay in a stable release.\n* [![Latest Unstable Version](https://poser.pugx.org/mmoreram/extractor/v/unstable.png)](https://packagist.org/packages/mmoreram/extractor)\n[![Latest Stable Version](https://poser.pugx.org/mmoreram/extractor/v/stable.png)](https://packagist.org/packages/mmoreram/extractor)\n\n## Installing [Extractor](https://github.com/mmoreram/extractor)\n\nYou have to add require line into you composer.json file\n\n``` yml\n\"require\": {\n    \"php\": \"\u003e=5.3.3\",\n    ...\n\n    \"mmoreram/extractor\": \"dev-master\",\n}\n```\n\nThen you have to use composer to update your project dependencies\n\n``` bash\n$ curl -sS https://getcomposer.org/installer | php\n$ php composer.phar update\n```\n\n## Usage\n\nGet a finder instance given a compressed file\n\n``` php\n\u003c?php\n\nuse Symfony\\Component\\Finder\\Finder;\nuse Mmoreram\\Extractor\\Filesystem\\TemporaryDirectory;\nuse Mmoreram\\Extractor\\Resolver\\ExtensionResolver;\nuse Mmoreram\\Extractor\\Extractor;\n\n$temporaryDirectory = new TemporaryDirectory();\n$extensionResolver = new ExtensionResolver;\n$extractor = new Extractor(\n    $temporaryDirectory,\n    $extensionResolver\n);\n\n/**\n * @var Finder $files\n */\n$files = $extractor-\u003eextractFromFile('/tmp/myfile.rar');\nforeach ($files as $file) {\n\n    echo $file-\u003egetRealpath() . PHP_EOL;\n}\n```\n\n## Adapters\n\nThis library currently manages these extensions. All of these adapters only\nworks if the php extension is installed.\n\n* Zip - http://php.net/manual/en/book.zip.php\n* Rar - http://php.net/manual/en/book.rar.php\n* Phar - http://php.net/manual/en/book.phar.php\n* Tar\n* GZ\n* BZ2\n\n## Directories\n\nThis library provide the way of working with temporary and specific directories.\n\n### Temporary directory\n\n``` php\nuse Mmoreram\\Extractor\\Filesystem\\TemporaryDirectory;\nuse Mmoreram\\Extractor\\Resolver\\ExtensionResolver;\nuse Mmoreram\\Extractor\\Extractor;\n\n$temporaryDirectory = new TemporaryDirectory();\n$extensionResolver = new ExtensionResolver;\n$extractor = new Extractor(\n    $temporaryDirectory,\n    $extensionResolver\n);\n```\n\n### Specific directory\n\n``` php\nuse Mmoreram\\Extractor\\Filesystem\\SpecificDirectory;\nuse Mmoreram\\Extractor\\Resolver\\ExtensionResolver;\nuse Mmoreram\\Extractor\\Extractor;\n\n$specificDirectory = new SpecificDirectory('/my/specific/path');\n$extensionResolver = new ExtensionResolver;\n$extractor = new Extractor(\n    $specificDirectory,\n    $extensionResolver\n);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmoreram%2Fextractor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmoreram%2Fextractor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmoreram%2Fextractor/lists"}