zipArchive::close() 返回 false 的问题
Issue with zipArchive::close() returning false
所以 zipArhive::
正在返回 false
,我已经尝试了 getStringStatus
并且它正在返回 "no error" 所以我不知道该怎么做...
$fp = fopen($filePath.$fileName, 'w');
$xml = $carXML->asXML();
$zipFileName = date('dmY')."-ebay.zip";
$zip = new ZipArchive();
$r= file_exists($filePath.$fileName);
var_dump($r);
$r = $zip->open($zipFileName, ZipArchive::CREATE);
var_dump($r);
$r = $zip->addFile($filePath.$fileName);
var_dump($r);
$r = $zip->getStatusString();
var_dump($r);
$r = $zip->close();
var_dump($r);
fputs ($fp, $xml);
fclose($fp);
Results:bool(true) bool(true) bool(true) string(8) "No error" bool(false)
您正在打开一个文件进行写入,但在将其添加到 zip 存档时尚未创建。如果在尝试将其添加到 ZipArchive 之前创建 $fp
文件(并关闭它)会发生什么情况?
<?php
$xmlFileName = $filePath.$fileName;
$fp = fopen($xmlFileName, 'w');
$xml = $carXML->asXML();
fputs ($fp, $xml);
fclose($fp);
$zipFileName = date('dmY')."-ebay.zip";
$zip = new ZipArchive();
$r = $zip->open($zipFileName, ZipArchive::CREATE);
$r = $zip->addFile($xmlFileName);
$r = $zip->close();
var_dump($r);
所以 zipArhive::
正在返回 false
,我已经尝试了 getStringStatus
并且它正在返回 "no error" 所以我不知道该怎么做...
$fp = fopen($filePath.$fileName, 'w');
$xml = $carXML->asXML();
$zipFileName = date('dmY')."-ebay.zip";
$zip = new ZipArchive();
$r= file_exists($filePath.$fileName);
var_dump($r);
$r = $zip->open($zipFileName, ZipArchive::CREATE);
var_dump($r);
$r = $zip->addFile($filePath.$fileName);
var_dump($r);
$r = $zip->getStatusString();
var_dump($r);
$r = $zip->close();
var_dump($r);
fputs ($fp, $xml);
fclose($fp);
Results:bool(true) bool(true) bool(true) string(8) "No error" bool(false)
您正在打开一个文件进行写入,但在将其添加到 zip 存档时尚未创建。如果在尝试将其添加到 ZipArchive 之前创建 $fp
文件(并关闭它)会发生什么情况?
<?php
$xmlFileName = $filePath.$fileName;
$fp = fopen($xmlFileName, 'w');
$xml = $carXML->asXML();
fputs ($fp, $xml);
fclose($fp);
$zipFileName = date('dmY')."-ebay.zip";
$zip = new ZipArchive();
$r = $zip->open($zipFileName, ZipArchive::CREATE);
$r = $zip->addFile($xmlFileName);
$r = $zip->close();
var_dump($r);