2013-02-20 80 views
1

我有Symfony 2和Zip檔案的問題。 當我關閉zip(zip> closed())時,文件不會被保存。我認爲問題的出現是因爲不可能在symfony的文件中寫入。Symfony 2 - Zip存檔 - 保存郵編

我試圖使用我的腳本,除了項目Symfony,完美的作品。 ZIP在目錄的根目錄下創建。

我指定我在Windows上。我使用PHP 5.3.13,Apache 2.2.22和MySQL 5.5.25的Wamp Server。

這裏是我的腳本:

<?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'; 
}?> 

目的是創建一個包含BLOB一個zip回來在我的表,然後從另一個表中創建一個JSON文件。

謝謝您的幫助

+2

你的代碼是不是Symfony2的?你在想什麼? – Stony 2013-02-20 10:03:49

+0

對不起,我忘記了,爲了走得更快,我創建了一個腳本PHP,但它會在symfony中進行修改。也許這是問題... – Lucoulouz 2013-02-20 10:09:48

回答