Zip in php
 
klopar 20. maj 2013 20:59:59 Pridružen od:
17. feb 2012
446 objav
78 113 24
#1

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


všeč(0) ni všeč(0) spam(0)
 
Weby 20. maj 2013 21:18:41 Pridružen od:
30. apr 2008
770 objav
120 21 2
#2

http://si1.php.net/manual/en/ziparchive.getfromname.php

Testirano deluje za .txt datoteke :)


všeč(1) ni všeč(0) spam(0)
No Packages marked for Update
 
klopar 21. maj 2013 08:23:08 Pridružen od:
17. feb 2012
446 objav
78 113 24
#3

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;

} }


všeč(0) ni všeč(0) spam(0)
 
Weby 21. maj 2013 14:24:48 Pridružen od:
30. apr 2008
770 objav
120 21 2
#4

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


všeč(0) ni všeč(0) spam(0)
No Packages marked for Update
 
klopar 21. maj 2013 16:03:50 Pridružen od:
17. feb 2012
446 objav
78 113 24
#5

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.


všeč(0) ni všeč(0) spam(0)
 
Weby 21. maj 2013 20:36:08 Pridružen od:
30. apr 2008
770 objav
120 21 2
#6

http://pastebin.com/HYTfjL3e



Upam da je to to :)


všeč(1) ni všeč(0) spam(0)
No Packages marked for Update
 
klopar 21. maj 2013 21:04:14 Pridružen od:
17. feb 2012
446 objav
78 113 24
#7

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.


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se