Symfony 2 と Zip アーカイブに問題があります。zip を閉じると (zip > closed ())、ファイルが保存されません。symfony のファイルに書き込めないので問題が発生していると思います。
完全に機能するプロジェクトSymfonyを除いて、スクリプトを使用しようとしました。ZIP はディレクトリのルートに作成されます。
Windows を使用していることを明記します。PHP 5.3.13、Apache 2.2.22、および MySQL 5.5.25 で Wamp サーバーを使用しています。
これが私のスクリプトです:
<?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 '"Zip.zip" ouvert<br/>';
$zip->addFile('fichier.json');
$zip->addFromString('img.jpeg', $img);
$zip->close();
echo 'Archive terminée<br/>';
} else {
echo 'Impossible d'ouvrir "Zip.zip<br/>';
echo 'retour au site';
}?>
目的は、テーブルに返されたブロブと別のテーブルから作成された json ファイルを含む zip を作成することです。
ご協力ありがとうございました