2017-10-03 9 views
0

だからzipArhive::falseを返してfalseを返す)(クローズは、私がgetStringStatus試してみましたが、「エラーが」私は何をすべきかにこだわっていない戻っているZIPARCHIVEと問題::

$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); 

結果:BOOL(真)BOOL(真)BOOL(真)の文字列(8) "エラーなし" ブール値(偽)

答えて

0

あなたが書き込み用にファイルを開いているが、ことによってそれを作成していませんそれを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); 
+0

私が得た: 'ブール値(偽)' –

+0

[OK]を、私はそれは$ zipFileNameは、したがって、完全なパスを持っていないサーバー上の正しい場所に行かないとやっていた、問題を発見しました。しかし、今、zipファイルで私はvar/www/etc/etc/etc/etcを持っています。 '$ zip-> open($ filePath。$ zipFileName、ZipArchive :: CREATE);' –

+0

私はあなたの新しい問題を理解していません。あなたが尋ねた問題を解決したので、おそらくそれは新しい質問として尋ねられます。 –