Comments (4)
Although this is not an official feature of the package, it does make it super simple to implement yourself, like so:
$local = new Flysystem\FIlesystem(Flysystem\Adapter\Local(__DIR__.'/path/to/dir'));
$zip = new Flysystem\FIlesystem(Flysystem\Adapter\Zip(__DIR__.'/path/to/archive.zip'));
$contents = $local->listContents('', true);
foreach ($contents as $info) {
if ($info['type'] === 'dir') {
continue;
}
$zip->write($info['path'], $local->read($info['path']));
}
// This will trigger saving the zip.
$zip = null;
Now you'll have the archive zipped the local directory and stored at _DIR__.'/path/to/archive.zip'
from flysystem.
Thanks again. I somehow figured this logic..
Hope you won't mind if I add this an feature to your Zip adapter as a new function..
from flysystem.
It's not something that will be included in the default zip adapter, this because it's not a feature that is cross adapter compatible.
from flysystem.
Yeah. Got your point. Thanks.
from flysystem.
Related Issues (20)
- Copy from remote URL to a filesystem HOT 4
- Allow public Storage::getAdapter() to get the storage adapter HOT 3
- Error installing in Laravel 10 with sail/Docker and composer HOT 1
- async-aws-s3 adapter - send pre-calculated checksum
- Implement touch HOT 2
- ChainWriter filesystem HOT 9
- deleteDirectory does not delete directories reliably in NFS environments
- Ability to close SFTP connection on demand
- $config in AwsS3V3Adapter copy function is null/empty HOT 1
- Can't get list of files on directory with FTP adapter in PHP 8.3 HOT 1
- Local adapter private directory visibility HOT 5
- Adding and ensuring more dedicated tests HOT 1
- Strpos result comparison HOT 1
- MountManager does not transfer configs other than visibility when copying across filesystems
- documentation - aws - ListObjects privileges seems no longer exists HOT 1
- "invalid size" error in SftpAdapter after upgrading to 3.25 HOT 6
- Error Message: Unable to list contents for '', shallow listing HOT 3
- SimpleConnectivityChecker causes unexpected behavior when use the ping method to check connectivity HOT 1
- How can i get one element on listContent?
- Batch interface HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flysystem.