Zip in php
2 naročnika
2 naročnika
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
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;
} }
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.