让一切正常运行,包括所有密码保护部分,但无法完成最后一期。
要求是在Laravel应用程序上,CSV是作为受密码保护的zip创建和下载的。
为此,我有一个在本地存储CSV的类,然后是一个调用以下内容的方法:
echo system('zip -P ' .$this->password. ' ' .$this->getZipStoragePath(). ' ' .storage_path('app/').$this->getFilePath());
这个“有效”,因为它创建了一个受密码保护的zip文件。但是当提取时,我的机器有一个文件夹结构,直到指向找到这个文件。
因此,提取这个创建的zip给我一个目录:
Users > Craig > Apps > Project Name > Storage > app > temp > then the file here.
有没有办法可以使用相同的zip系统方法,但是它只压缩文件,而不是像storage_path()方法返回的整个路径?
答案 0 :(得分:1)
您似乎想要-j
标志:
-j
--junk-paths
Store just the name of a saved file (junk the path), and do
not store directory names. By default, zip will store the
full path (relative to the current directory).
另请注意,您可以使用本机PHP Zip支持,并使用可选的第二个参数调用addFile()
来覆盖存档中的文件名。