2013-02-20 3 views
1

Symfony 2 및 Zip Archives에 문제가 있습니다. 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'; 
}?> 

목적은 나의 테이블과 다른 테이블에서 생성 된 JSON 파일에있어 방울을 포함하는 지퍼를 만드는 것입니다 :

여기 내 스크립트입니다.

+2

코드는 Symfony2하지? 너 뭐하려고? – Stony

+0

죄송합니다. 빨리 진행하려면 스크립트 PHP를 만들었지 만 심포니에 적용됩니다. 어쩌면 그게 문제 야 ... – Lucoulouz

답변

2

스토니 그것을 말했듯이, Symfony2와는 아무 상관이없는 것 같다 ...

에 대한 ZipArchive::close 해결하기 위해 php.net 페이지 (사용자의 노트를) 확인 당신의 도움을 주셔서 감사합니다 당신의 문제 :

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