Symfony 2-Zip档案-保存Zip


Symfony 2 - Zip Archive - Save Zip

我对Symfony 2和Zip档案有问题。当我关闭zip(zip>closed())时,文件不会保存。我认为问题的出现是因为不可能在symfony的文件中写入。

我试着使用我的脚本,除了Symfony项目,它运行得很好。ZIP是在目录的根目录中创建的。

我指定我在Windows上。我将Wamp Server与PHP 5.3.13、Apache 2.2.22和MySQL 5.5.25一起使用。

这是我的脚本:

<?php  
$host = 'localhost';
$user = 'root';
$bdd = 'symfony';
mysql_connect($host, $user) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
$query = "SELECT * FROM `symfony`.`testzip`";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
    $img = $row["question"];
}
$query = "SELECT * FROM `symfony`.`rallye`";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
    $node = array();
    $node["id"] = $row[0];
    $node["name"] = $row[1];
    $node["code"] = $row[2];
    $node["urlarchive"] = $row[3];
    $json[] = $node;
}
mysql_close();
$json = array();
$nom_file = "rallye.json";
$f = fopen($nom_file, "w+");
fputs($f, json_encode($json));
fclose($f);
$zip = new ZipArchive(); 
$zipName = 'archive.zip';
if($zip->open($zipName, ZipArchive::CREATE) === true) {
    echo '&quot;Zip.zip&quot; ouvert<br/>';
    $zip->addFile('fichier.json');
    $zip->addFromString('img.jpeg', $img);
    $zip->close();
    echo 'Archive terminée<br/>';
} else {
    echo 'Impossible d&#039;ouvrir &quot;Zip.zip<br/>';
    echo 'retour au site';
}?>

目的是创建一个zip,其中包含从我的表中获取的blob和从另一个表中创建的json文件。

感谢您的帮助

正如Stony所说,这似乎与Symfony2无关…

查看关于ZipArchive::close的php.net页面(用户说明)以解决您的问题:

http://www.php.net/manual/en/ziparchive.close.php