[ Príspevkov: 7 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
[VYRIESENE] PHP vyhladavanie v txt

Registrovaný: 07.12.05
Prihlásený: 30.06.10
Príspevky: 135
Témy: 12 | 12
Bydlisko: Martin
NapísalOffline : 11.03.2009 16:38 | [VYRIESENE] PHP vyhladavanie v txt

Zdarec borci

Takze uvod do problematiky...

Ako splnohodnotenie intranetu som premyslal o niecom ako web vyhladavanie na suborovom servri postavenom na linuxe. Ako prve ma napadlo pouzit
exec('find /cesta/ | grep $string') avsak pri cca 20 sucastnych vyhladavaniach mi naskocil vysoky load, kedze suborov je vela. Premyslal som a napadlo ma vyhladavat v txt, v ktorom budu priamo cesty k danym suborom. Kazdu hodinu dam vydumpovat find do txt suboru. Potom by bolo rychlejsie vykonat prikaz exec('cat zoznam_veci.txt | grep $string') avsak neviem ako to pouzit aby to fungovalo zarucene, lebo vacsinou to stopne hned na zaciatku a nic nenajde. V PHP pomocou fopen ma napadlo pouzit nieco taketo.
Kód:
function getSearch($string) {
        $fp = fopen("zoznam_veci.txt","rb");
        if($fp){
                while(!feof($fp)){
                        $s = fgets($fp);
                        if (preg_match('/^'.$string.'*?$/i', $s, $match) === 1)
                                break;
                }
                fclose($fp);
                return $match[0];
        }
        return false;
}

avsak stracam sa v patterne vo funkcii preg_match, obsah txtcka ma strukturu klasickeho find cize
Kód:
./subor/
./subor1/podsubor1/file.txt
./subor2/podsubor2/22/podzlozka2/file.doc

nejake napady ?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 11.03.2009 17:26 | [VYRIESENE] PHP vyhladavanie v txt

Ahoj, veľmi zaujím,avý popis problému. CHcel by som ťa poprosiť aby si to preložil do "ľudštiny" a zodpovedal na pár otázok:

1, Čo vlastne hľadáš
2, Kde a ako to chceš ukladať (a či to máme riešiť)
3, Aký formát majú súbory (docx sú špeciálne komplirimované tam s tým nepohneš)
4, Celkový význam?

Nakoniec by bodol nejaký príklad :)


Offline

Užívateľ
Užívateľ
[VYRIESENE] PHP vyhladavanie v txt

Registrovaný: 07.12.05
Prihlásený: 30.06.10
Príspevky: 135
Témy: 12 | 12
Bydlisko: Martin
Napísal autor témyOffline : 11.03.2009 19:42 | [VYRIESENE] PHP vyhladavanie v txt

1. Vsetko co bude zadane v stringu (full textove vyhladavanie v textaku)
2. Kde to nieje podstatne, ulozene to bude ako obycajny text, vydumpovany find (linux prikaz) do textaku...toto problem nieje
3. Subory budu vsetkeho druhu, neda sa to specifikovat
4. Web vyhladavanie suborov na file servri lebo ich je vela v roznych zlozkach

Zadas do kolonky to co chces hladat, po odoslani tlacitka hladat ti vypise vsetky zhodne vysledky......


Offline

Správca fóra
Správca fóra
[VYRIESENE] PHP vyhladavanie v txt

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 11.03.2009 19:53 | [VYRIESENE] PHP vyhladavanie v txt

ked pozeram na funkciu getSearch, tak mi je jasne, ze ti to najde max jeden nazov, nakolko pouzivas break... najdene nazvy suborov by si si mal ukladat do zvlast pola a ten potom vracat...


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
[VYRIESENE] PHP vyhladavanie v txt

Registrovaný: 07.12.05
Prihlásený: 30.06.10
Príspevky: 135
Témy: 12 | 12
Bydlisko: Martin
Napísal autor témyOffline : 11.03.2009 20:03 | [VYRIESENE] PHP vyhladavanie v txt

viem ze to tam je, je to tam schvalne aby mi zatial vyhodilo len jeden vysledok, lenze teraz nenajde ani jeden, najhorsie ze ani ja neviem nakonfigurovat ten pattern v preg_match


Offline

Správca fóra
Správca fóra
[VYRIESENE] PHP vyhladavanie v txt

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 11.03.2009 20:10 | [VYRIESENE] PHP vyhladavanie v txt

je to sice cez eregi, ale vyskusaj toto:
Kód:
function getSearch($string) {
   $files = array();
   $fp = fopen("zoznam_veci.txt","rb");
    if($fp) {
       while(!feof($fp)){
           $s = fgets($fp);
           if(eregi($string,$s)) {
              $files[] = $s;
           }
        }
        fclose($fp);

        return $files;
    }
   
   return false;
}

rychlejsie by to bolo asi cez stripos


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 11.03.2009 21:41 | [VYRIESENE] PHP vyhladavanie v txt

masterdead píše:
Kód:
function getSearch($string) {
        $fp = fopen("zoznam_veci.txt","rb");
        if($fp){
                while(!feof($fp)){
                        $s = fgets($fp);
                        if (preg_match('/^'.$string.'*?$/i', $s, $match) === 1)
                                break;
                }
                fclose($fp);
                return $match[0];
        }
        return false;
}


ešte som si všimol túto vec, ale možno sa mýlim:
/^'.$string.'*?$/i'

Tuším, že ti to práve preto nič nenájde (našlo by pokiaľ by celý súbor bol tvoj reťazec).


 [ Príspevkov: 7 ] 


[VYRIESENE] PHP vyhladavanie v txt



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

php zapis do txt

v PHP, ASP

7

2059

09.11.2008 16:52

Patkoo

V tomto fóre nie sú ďalšie neprečítané témy.

Php? - Vyhladavanie

v PHP, ASP

2

124

12.06.2013 21:18

PepperSK

V tomto fóre nie sú ďalšie neprečítané témy.

php praca s txt suborom

v PHP, ASP

2

456

14.01.2010 10:38

mylan

V tomto fóre nie sú ďalšie neprečítané témy.

Upravovanie txt suboru pomocou php

v PHP, ASP

4

371

14.01.2009 6:58

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

PHP citanie z TXT suboru

v PHP, ASP

6

736

12.06.2010 10:54

kexo

V tomto fóre nie sú ďalšie neprečítané témy.

PHP - MySQL - vyhladavanie?

v PHP, ASP

5

632

20.03.2010 6:24

rooobertek

V tomto fóre nie sú ďalšie neprečítané témy.

Orezevanie obrazkov .php //vyriesene

v PHP, ASP

0

152

23.11.2011 13:58

KViki

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] Php GET problem

v PHP, ASP

4

350

21.02.2009 20:12

Xardas

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] PHP template class

v PHP, ASP

23

852

24.02.2009 23:09

Flety

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] PHP unzip class

v PHP, ASP

6

327

26.02.2009 13:01

Flety

V tomto fóre nie sú ďalšie neprečítané témy.

PHP skript, vyber udajov z TXT suboru

v PHP, ASP

6

705

10.12.2009 19:39

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

PHP vyhladavanie a slovenske znaky

v PHP, ASP

1

414

26.10.2010 14:42

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] php sťahovanie obrázkov z www

v PHP, ASP

2

436

20.03.2009 13:03

korelat22

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] JSON z Twitteru do PHP

v PHP, ASP

8

388

27.03.2009 20:44

chvosty

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] Delete udajov v MySQL s PHP

v PHP, ASP

11

875

08.02.2009 22:36

neopagan

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] PHP: problem s INCLUDE pri RewriteEngine On

v PHP, ASP

2

323

17.02.2009 14:33

max-m



© 2005 - 2017 PCforum, edited by JanoF