Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]file_get_contents OPYMALIZACJA kodu. Strasznie długie ładownie.
kielich
post
Post #1





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


WItam,
Napisałem klasę, lecz dane pobierne są ze sklepu intenetowego. FIRMA => części => rodzaj_cześci => szczegóły towaru. Informacje wyszukują się idealnie. Przy "ostatnim etapie" - wyciąganie ceny produktu. Skrpty straaaasznie muli , ponad 5min co składnia mnie do nacisnięcia "ESC" (IMG:style_emoticons/default/sad.gif) . Proszę o pomoc

  1. <?php
  2.  
  3. class Klocki{
  4.  
  5. const wzorzec_links = '#<li><a.*href=\"([^\"]*)\".*>([^\"]*)<\/a><\/li>#';
  6. const wzorzec_price = '#<span itemprop="price">([^\"]*)</span>#';
  7. const wzorzec_name = '#<span itemprop="name">([^\"]*)</span>#';
  8. private $linksAll = array();
  9.  
  10.  
  11.  
  12. private function getData() {
  13. $output = file_get_contents('link');
  14. preg_match_all(self::wzorzec_links, $output, $links);
  15.  
  16. return $links[1];
  17. }
  18.  
  19. private function parseData() {
  20. foreach(Klocki::getData() as $linkMore){
  21. preg_match_all(self::wzorzec_links, file_get_contents($linkMore), $links);
  22. foreach($links[1] as $linksMore){
  23. preg_match_all(self::wzorzec_links, file_get_contents($linksMore), $links);
  24. foreach($links[1] as $link){
  25. $linksAll[] = $link;
  26. }
  27. }
  28. }
  29. return $linksAll;
  30. }
  31.  
  32. public function getInfo(){
  33. if(Klocki::parseData() == true){
  34. foreach(Klocki::parseData() as $link){
  35. $outputs = file_get_contents($link);
  36. preg_match(self::wzorzec_price, $outputs, $price);
  37. preg_match(self::wzorzec_name, $outputs, $name);
  38. }
  39. }
  40. }
  41. }
  42.  
  43. Klocki::getInfo();
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jaslanin
post
Post #2





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

Ostrzeżenie: (0%)
-----


podrzuć jakieś dane cobyśmy mogli sobie po testować bez pisania sobie wszystkiego z palca, bo nie każdemu się będzie chciało + jaki chcesz mieć dla tego output, jaki cel osiagnąć
Go to the top of the page
+Quote Post

Posty w temacie
- kielich   [PHP]file_get_contents OPYMALIZACJA kodu. Strasznie długie ładownie.   2.04.2013, 12:25:01
- - jaslanin   podrzuć jakieś dane cobyśmy mogli sobie po testowa...   2.04.2013, 12:30:20
- - kielich   [PHP] pobierz, plaintext private function getData...   2.04.2013, 12:33:37
- - !*!   To co podałeś jest bez sensu. A jak chcesz optymal...   2.04.2013, 12:37:49
- - kielich   No dobrze ale pętli i tak się nie pozbędę. Muszę j...   2.04.2013, 12:46:11
- - !*!   Obróbka istniejącej zmiennej, to nie to samo co ob...   2.04.2013, 12:48:49
- - kielich   ALe ja przechodzę z linku na link. mając tablice l...   2.04.2013, 12:56:55
- - !*!   Nie rozumiem problemu. Mam link A, pobieram jego ź...   2.04.2013, 13:06:38
|- - artuross   Cytat(!*! @ 2.04.2013, 14:06...   2.04.2013, 14:06:07
- - kielich   FIRMA => części => rodzaj_cześci => szcze...   2.04.2013, 13:10:42
- - kielich   Dokładnie jest to 5160 linków , przerobiłem że mam...   2.04.2013, 14:08:30
- - artuross   Czlowieku zrozum, ze tego nie przyspieszysz! N...   2.04.2013, 14:14:50
- - !*!   Jest różnica między 200 a 5160, taka tyci. Cytat...   2.04.2013, 14:19:36
|- - artuross   Cytat(!*! @ 2.04.2013, 15:19...   2.04.2013, 14:30:19
- - kielich   CytatChyba że wykona to równolegle, skrypt podziel...   2.04.2013, 14:27:46
- - !*!   Nie mam pojęcia o działaniu równoległym w PHP (i c...   2.04.2013, 14:34:02
|- - artuross   Cytat(!*! @ 2.04.2013, 15:34...   2.04.2013, 14:41:08
- - !*!   Będzie szybciej, bo skrypt nie będzie czekał aż wy...   2.04.2013, 14:45:25
- - artuross   Tylko, ze gdy otwierasz karty w przegladarce otwie...   2.04.2013, 14:52:35
- - kielich   A w jaki sposób moge pobrać odpowienie bity - dług...   2.04.2013, 14:53:36
- - artuross   Mozesz dodac odpowiedni header, ktory poinstruuje ...   2.04.2013, 14:55:09
- - !*!   Dlatego wspomniałem na początku o tych pętlach, zr...   2.04.2013, 14:55:49


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 11:34