---
title: "Problem att packa upp gz-komprimerad sträng"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/173297-problem-att-packa-upp-gz-komprimerad-sträng"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "erciz"
published: "2008-08-12T08:55:23.000Z"
updated: "2008-08-18T20:44:43.000Z"
replies: 11
views: 1260
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/173297-problem-att-packa-upp-gz-komprimerad-sträng"
---

# Problem att packa upp gz-komprimerad sträng

## #1 — erciz, 2008-08-12T08:55Z

Jag får in en gz-komprimerad och base64-encodad sträng som jag vill packa upp, men jag får inte till det.

Första gör jag 

```php
$gz = base64_decode($str);
```

vilket går bra, sen har jag försökt använda 

```php
$s = gzuncompress($gz);
```

men jag får **Data error** då. Något förslag? efter **base64_decode()** så är det en binärsträng, har försökt spara ner det till en fil, utan att lyckats så bra. Vad gör jag för fel?

Permalänk: https://www.webforum.nu/p/173297

## #2 — nitro2k01, 2008-08-12T08:56Z

Posta base64-strängen här eller skicka den i ett PM till mig.

Permalänk: https://www.webforum.nu/p/2132843

## #3 — erciz, 2008-08-12T20:19Z

> **nitro2k01 skrev:**
>
> Posta base64-strängen här eller skicka den i ett PM till mig.

visst!

```
begin-base64 644 data.xml.gz
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
====
```

Permalänk: https://www.webforum.nu/p/2132993

## #4 — colione, 2008-08-12T20:31Z

här kommer den.

Såhär gjorde jag:

```php
<?php

$bs64=<<<EOB
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==
EOB;

$fh = fopen("data.xml.gz", 'w');
fwrite($fh, base64_decode($bs64));
fclose($fh);
```

 

sen unzippade jag den.

Bilagor:

- [data.xml.txt](https://www.webforum.nu/a/18887.txt)

Permalänk: https://www.webforum.nu/p/2132996

## #5 — erciz, 2008-08-13T15:06Z

> **colione skrev:**
>
> här kommer den.
> 
> Såhär gjorde jag:
>
>
> ```php
> <?php
> 
> $bs64=<<<EOB
> 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==
> EOB;
> 
> 
> $fh = fopen("data.xml.gz", 'w');
> fwrite($fh, base64_decode($bs64));
> fclose($fh);
> ```
>
>  
> 
> sen unzippade jag den.

Du verkar ha lyckats unzippa den iaf. Så långt du har gjort i din kod har jag också kommit, det är själva unzippningen som är problemet. Jag vill göra det med PHP men får som sagt **data error**. Jag kan tillägga att jag inte lyckas att zippa upp **data.xml.gz** med 7-zip i Windows heller, men du verkar ju ha lyckats med det. Använde du gunzip i Linux eller?

Permalänk: https://www.webforum.nu/p/2133126

## #6 — colione, 2008-08-13T15:49Z

jag använde gzip ja, men det bör inte vara några problem i typ winrar heller.

hur kompirmeras filen? (av en människa, ett script?)

Permalänk: https://www.webforum.nu/p/2133131

## #7 — colione, 2008-08-13T16:03Z

Fullösning:

```php
$fh = fopen("data.xml.gz", 'w');
fwrite($fh, base64_decode($bs64));
fclose($fh);
$ugz = readgzfile("data.xml.gz");
```

Filen verkar vara gzip-encodad. därför får du felet. kolla här:
<http://se2.php.net/manual/en/function.gzdecode.php>

Permalänk: https://www.webforum.nu/p/2133132

## #8 — erciz, 2008-08-13T22:18Z

> **colione skrev:**
>
> jag använde gzip ja, men det bör inte vara några problem i typ winrar heller.
> 
> hur kompirmeras filen? (av en människa, ett script?)

Jag har testat att öppna den med 7-Zip för windows ( <http://www.7-zip.org/> ), men jag får då felet **Kan inte öppna filen *data.xml.gz* som ett arkiv.**

Filen komprimeras av ett Active-X-plugin i klientens webbläsare.

Permalänk: https://www.webforum.nu/p/2133191

## #9 — erciz, 2008-08-13T22:28Z

> **colione skrev:**
>
> Fullösning:
> 
>
>
> ```php
> $fh = fopen("data.xml.gz", 'w');
> fwrite($fh, base64_decode($bs64));
> fclose($fh);
> $ugz = readgzfile("data.xml.gz");
> ```
>
> 
> 
> Filen verkar vara gzip-encodad. därför får du felet. kolla här:
> <http://se2.php.net/manual/en/function.gzdecode.php>

Den där koden funkar inte alls för mig, den skriver bara ut den gz-kodade strängen.

När jag försöker med **gzdecode()** som du länkar till så får jag **Call to undefined function gzdecode()**. Det verkar inte som den funktionen finns riktigt i php ännu, det står på maualsidan: **(No version information available, might be only in CVS)**.

Jag har testat med alla gz-funktioner jag kan hitta på <http://se.php.net/manual/en/ref.zlib.php>
Både **gzinflate()** och **gzuncompress()** ger **data error**.

Antingen är det jag som gör något fel med funktionerna eller så är det någon bugg i PHPs gz-funktioner.   :(

Permalänk: https://www.webforum.nu/p/2133193

## #10 — colione, 2008-08-14T05:59Z

Det finns en gzdecode-funktion i kommentarerna på den sidan.

Permalänk: https://www.webforum.nu/p/2133202

## #11 — erciz, 2008-08-14T12:06Z

> **colione skrev:**
>
> Det finns en gzdecode-funktion i kommentarerna på den sidan.

Ja, det fanns ganska många varianter på den i kommentarerna. Jag började med att testa den första som fanns på en extern sida och den genererade **strpos(): Offset not contained in string** och **gzinflate(): data error**. Sen de efterföljande två som är ganska långa returnerade båda NULL. Och den sista som är ganska kort skrev bara ut den gzippade strängen.

Så ingen lycka än så länge  :( 

Har du provat med någon av de här funktionera på den sträng jag klistrade in (efter att base64_decodat dem)?

Permalänk: https://www.webforum.nu/p/2133254

## #12 — erciz, 2008-08-18T20:44Z

> **colione skrev:**
>
> Fullösning:
> 
>
>
> ```php
> $fh = fopen("data.xml.gz", 'w');
> fwrite($fh, base64_decode($bs64));
> fclose($fh);
> $ugz = readgzfile("data.xml.gz");
> ```
>
> 
> 
> Filen verkar vara gzip-encodad. därför får du felet. kolla här:
> <http://se2.php.net/manual/en/function.gzdecode.php>

Eftersom det blir en binärsträng så tror jag att det måste vara 'wb' för att det ska funka under windows, men jag får den inte att funka iallafall, det blir en fil 0 byte stor   :(

Permalänk: https://www.webforum.nu/p/2134022

---

Tråden på webben: https://www.webforum.nu/amne/php/173297-problem-att-packa-upp-gz-komprimerad-sträng
