Gå til innhold

kompressjon av filer med zlib


Anbefalte innlegg

Jeg forsøker å lage en kompressjonsfunksjon, men sliter litt med navngivning av filer. Filen komprimeres fint, men blir hetende filnavn.doc.gz istedet for filnavn.gz, som jeg vil det skal hete. Hvis jeg droppper doc i destination-file har ikke filen i pakken noe etternavn. Hvordan kan jeg løse dette?

 

Koden min:

function compress($srcName){
   	$dstName = $srcName .".gz";
 $fp = fopen($srcName, 'r');
 $data = fread ($fp, filesize($srcName));
 fclose($fp);

 $zp = gzopen($dstName, "w9");
 gzwrite($zp, $data);
 gzclose($zp);
}

Lenke til kommentar
Videoannonse
Annonse

function compress($srcName){

 $navn = implode("" , explode('.', $srcName, -1) ) 
 $dstName = $navn .".gz";
 $fp = fopen($srcName, 'r');
 $data = fread ($fp, filesize($srcName));
 fclose($fp);

 $zp = gzopen($filnnavn, "w9");
 gzwrite($zp, $data);
 gzclose($zp);
}

 

Letteste jeg kommer på i farten, dessverre ikke testet...

Lenke til kommentar
function compress($srcName){

 $navn = implode("" , explode('.', $srcName, -1) ) 
 $dstName = $navn .".gz";
 $fp = fopen($srcName, 'r');
 $data = fread ($fp, filesize($srcName));
 fclose($fp);

 $zp = gzopen($filnnavn, "w9");
 gzwrite($zp, $data);
 gzclose($zp);
}

 

Letteste jeg kommer på i farten, dessverre ikke testet...

7884929[/snapback]

 

Denne er helt lik min, for den komprimerte filen har ingen filendelse, er bare av typen fil. Dvs min endrede.

 function compress($srcName){
   	$fileinfo = pathinfo($srcName);
   	$ext = $fileinfo['extension'];
   	$dstName = PATH. basename($srcName, ".$ext") . ".gz";
 $fp = fopen($srcName, 'r');
 $data = fread ($fp, filesize($srcName));
 fclose($fp);
 $zp = gzopen($dstName, "w9");
 gzwrite($zp, $data);
 gzclose($zp);
}

 

Irriterende problem altså!

Endret av CruellaDeVille
Lenke til kommentar
function compress($srcName){

 $navn = implode("" , explode('.', $srcName, -1) ) 
 $dstName = $navn .".gz";
 $fp = fopen($srcName, 'r');
 $data = fread ($fp, filesize($srcName));
 fclose($fp);

 $zp = gzopen($filnnavn . ".gz", "w9");
 gzwrite($zp, $data);
 gzclose($zp);
}

7884929[/snapback]

 

Prøv nå:p

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...