【发布时间】:2014-07-31 11:00:13
【问题描述】:
我正在使用 Google 应用引擎,我想使用当前版本支持的 zip 扩展名创建一个 zip 存档。问题是每次我调用 ZipArchive::close 它都会返回 false 并且 ZipArchive::getStatusString 返回“无法创建临时文件:只读文件系统”。我正在像这样在云存储中创建 zip 文件:
$zip = new ZipArchive();
$zip->open("gs://whatever/somethig.zip", ZipArchive::OVERWRITE); //returns true
$zip->addFromString('file.txt', "some random data"); //returns true
$zip->numFiles; // = 1
$zip->close(); // returns false
$zip->getStatusString(); //returns Failure to create temporary file: Read-only file system
它应该是可写的,它实际上是与 file_set_content 或其他。我尝试了相同的代码,但有几个变体:
- 已经存在的 zip 文件;
- 没有现有的 zip 文件;
- ZipArchive::CREATE 作为 ZipArchive::open 调用的第二个参数
- 使用 ZipArchive::addFile 从云存储添加文件
也许它试图在其他地方而不是在云存储上创建一个临时文件,但我正在做的这件事是非常常见的情况,我怀疑这是一个应用程序引擎错误,毕竟他们声称他们支持邮编扩展here。
有人知道可能是什么问题吗?
谢谢。
【问题讨论】:
标签: php google-app-engine ziparchive