[php] Zip maken / uitlezen

Pagina: 1
Acties:
  • 327 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo. Mijn vorige topic bleek niet duidelijk te zijn, dus vandaar deze nieuwe. Ik zou graag een aantal bestanden samenvoegen tot één zip file. Dit moet serverside gebeuren, en het moet tevens serverside uit te lezen zijn. Dit in verband met backupen -> restoren van bestanden in een eigengeschreven CMS systeem.

De wijze waarop dit gebeurd is niet echt van belang. Tijdens mijn zoektocht ben ik de class van phpMyAdmin tegengekomen om zips te maken, maar hiermee zijn ze niet uit te lezen. Deze optie is valt dus af.

Modules behoren niet tot de mogelijkheden aangezien de software op meerdere servers moet draaien. Hetzelfde geldt voor zip programma's.

Zijn er verder nog alternatieven? In mijn vorige gesloten topic noemde iemand "gzip". Graag wat meer uitleg, aangezien ik bij gzip denk aan de php methode om pagina's te comprimeren, niet om meerdere bestanden in één file te zippen. Als iemand me op weg kan helpen, geweldig! Alvast bedankt. :)

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

http://php.net/gzip
edit:
http://php.net/zlib dus bijvoorbeeld Kan niet zo moeilijk zijn toch :?

[ Voor 76% gewijzigd door Spider.007 op 15-12-2003 21:59 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • trogdor
  • Registratie: Mei 2003
  • Laatst online: 22-04 10:17
Hangt een beetje van je systeem af.
Ik zelf draai op freeBSD en gebruik daarop zip (met shell commandos).
Als je de zip comando(s) op de commandline goed hebt, (gebruik full paths, let op userrights etc), dan kan je ze zo vanuit php gebruiken.

Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

trogdor schreef op 15 december 2003 @ 21:59:
Hangt een beetje van je systeem af.
Ik zelf draai op freeBSD en gebruik daarop zip (met shell commandos).
Als je de zip comando(s) op de commandline goed hebt, (gebruik full paths, let op userrights etc), dan kan je ze zo vanuit php gebruiken.
Modules behoren niet tot de mogelijkheden aangezien de software op meerdere servers moet draaien. Hetzelfde geldt voor zip programma's.
:) helaas.. Maar dit is ook niet zo moeilijk met PHP hoor!

kijk eens hier: [google=php gzip multiple files]

En de sluitmessage van je vorige topic geldt nog steeds; wil je niet programmeren zit je hier fout

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Spider.007 schreef op 15 december 2003 @ 22:07:
[...]


[...]
:) helaas.. Maar dit is ook niet zo moeilijk met PHP hoor!

kijk eens hier: [google=php gzip multiple files]

En de sluitmessage van je vorige topic geldt nog steeds; wil je niet programmeren zit je hier fout
Wie zegt dat ik niet wil programeren? Ik vraag nergens om scripts, en om dit te verduidelijken heb ik gezegd dat ik niet op zoek ben naar een script om zips uit te lezen, en vraag ik of er alternatieven zijn en of iemand me op weg kan helpen... Ik heb het hierover met de betreffende modderater gehad en in overleg met hem dit nieuwe topic geopend.

On-Topic: Bovenstaand voorbeeld (http://php.net/zlib) heeft een module (parameterwijziging) nodig, en valt dus af. Daarmee ben ik tot de ontdekking gekomen dat het niet mogelijk is om zips te maken met de standaardinstellingen van PHP. Eerder dacht ik dat dat wel kon, aangezien het script wat ik eerst gebruikte om zips te maken leek te werken met de basisinstellingen. Het blijkt dat deze ook deels de gwcompressies gebruikt en dat dit op de testserver aan stond (stomstom).

Wordt het dus toch gewoon checken of GZip functies beschikbaar zijn, en op basis hiervan de bestanden gecomprimeerd of ongecomprimeerd serverside backuppen.

Acties:
  • 0 Henk 'm!

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 14-09 08:25
Ik denk dat het mogelijk moet zijn om het met system calls (als het besturingssysteem overal hetzelfde is) in php te doen zoals trogdor ook zei.

Kijk anders hier even:
http://www.onlamp.com/pub...8/28/php_foundations.html

Acties:
  • 0 Henk 'm!

  • kamerplant
  • Registratie: Juli 2001
  • Niet online
Toevallig moest ik het zelfde weten.
Het gequote URL werkt inderdaad perfect. Getest op Linux (PHP4.1.2) en Windows (PHP4.3.4, standaard settings) waar het beide probleemloos op werkte.
Het gaat heel simpel:
PHP:
1
2
3
4
5
6
7
<?php
  require('pclzip.lib.php');
  $archive = new PclZip("archive.zip");
  $archive->add("style.css");
  $archive->add("gzip.exe");
   //etc
?>

[ Voor 8% gewijzigd door kamerplant op 17-12-2003 08:34 ]

🌞🍃


Acties:
  • 0 Henk 'm!

  • trogdor
  • Registratie: Mei 2003
  • Laatst online: 22-04 10:17
Wow dik man.
Dat is echt nettjes, so zonder externe rommel, complete zip implementatie in php.
Thanx!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Gaaaf, das nog eens een mooi clasje! Heeft alleen wel zlib support nodig (dus niet helemaal zonder extra paramters):
PHP:
1
2
3
4
5
if (!function_exists('gzopen'))
{
      //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 1, "zlib extension seems to be missing");
      die('Abort '.basename(__FILE__).' : Missing zlib extensions');
}

Maar goed, zit een auto check op, dus echt prima! :) Thanx!
Pagina: 1