Zip in php

Pozdravljeni,

trenutno se ukvarjam z branjem zip datoteke. Potrebujem pa malce pomoči oziroma nasvet. Rad bi naredil skripto, ki bi brala datoteke iz zip formata. Bom raje podal kar primer za lažje razumevanje.

Imam datoteko ime.zip in v njej je novo.txt. Sedaj pa bi rad iz novo,txt prebral tekst in ga prikazal na strani. Zanima pa me če je možno prebrati text ne da bi moral najprej odzipati. Trenutno sem napisal tako kodo. Koda deluje vendar me moti to, da mora biti odzipano.

Koda:

$zip = new ZipArchive();

if ($zip->open("/var/www/slo-podnapisi.net/1/ime.zip") !== TRUE)

        {

            $entries = rar_list($rar);

        }

    $numFiles = $zip->numFiles;

    for ($x=0; $x<$numFiles; $x++)

        {
            $file = $zip->statIndex($x);
        }

        $file_datoteka = $file['name'];
        $path = getcwd() . "/1/";
        $zip->extractTo($path);

        $f = fopen("/naslov/odzipaj/$file_datoteka", "r");

$i=0;

    while ( $line = fgets($f, 1000) )
{

        if (preg_match("/isci/i", $line))

            {
                if ($i<1)
                    {
                        print $line;
                        $i++;

                    }
            }
}

Hvala

6 odgovorov

http://si1.php.net/manual/en/ziparchive.getfromname.php
Testirano deluje za .txt datoteke :)

1

Aha, hvala deluje. Ali bi se dalo, da bi iskal potem v tekstu poljubne besede. Deluje mi, če imam odzipano datoteko, če pa je ni imam pa prazno polje.

Kodo za branje je pa naslednja:

$ime = $zip->getFromName($file['name']);

$search = 'Prev';

$lines = $ime;
foreach($lines as $line)
{

if(strpos($line, $search) !== false)
echo $line;
} }

Če beseda obstaja izpiše celotno besedilo ali samo iskan del?

Izpiše se celotno besedilo, ki je v vrstici. Naprimer, da je v eni vrstici napisano: Prev: nekdo@volja.net se izpiše vse to. Ostalo pa se ne prikaže.

http://pastebin.com/HYTfjL3e

Upam da je to to :)

1

Hvala Weby vendar moram imeti tudi tukaj 2 datoteki vključeni ( ne deluje če imam samo test1.zip ): test1.zip in file.txt, drugače mi ne prebere.