2010-03-23 14 views
-1

Lorsque j'utilise bzopen, ai-je besoin de bzwrite() déjà compressé par une chaîne bzcompress() ou est-ce qu'il est compressé automatiquement pendant l'écriture?Question d'extension PHP Bz2

Répondre

2

A en juger par Exemple # 1 sur la page de manuel de bzwrite(citant):

<?php 
$str = "uncompressed data"; 
$bz = bzopen("/tmp/foo.bz2", "w"); 
bzwrite($bz, $str, strlen($str)); 
bzclose($bz); 
?> 

Je dirais qu'il n'y a pas besoin de compresser les données avec vous bzcompress avant d'utiliser bzwrite.


En outre, l'exécution de cette portion de code va créer un fichier avec un contenu qui ressemble à ceci:

$ cat /tmp/foo.bz2 
BZh91AY&SY7�w�@.� 1�&2��� q�o 
|]��[email protected]���` 

Ne ressemble pas « uncompressed data » - et ressemble à certaines données compressées bzip2; -)

+0

J'ai vu cet exemple, mais si c'est le cas, où pouvez-vous choisir le niveau de compression? et pourquoi a-t-il besoin d'être une fonction bzcompress() externe? – Rob

+1

La fonction 'bzcompress()' externe existe pour que vous puissiez compresser les données sans les envoyer à un fichier * (vous pourriez vouloir l'envoyer au navigateur, par exemple, ou le stocker dans une base de données) * ;;; aucune idée sur la façon de définir le niveau de compression - désolé. –

+0

Oui, vous avez raison sur l'exemple – Rob