Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapętliłem się...
Forum PHP.pl > Forum > PHP
ennics
cześć, niech mnie ktoś oświeci winksmiley.jpg
na początek kod
  1. <?php
  2.  
  3. class fireFrost
  4. {
  5.   public function snip_info( $cookie )
  6.   {
  7.     $this -> ch = curl_init();
  8.  
  9.     curl_setopt($this -> ch, CURLOPT_URL, $this -> url);
  10.     curl_setopt($this -> ch, CURLOPT_HEADER, 1);
  11.     curl_setopt($this -> ch, CURLOPT_NOBODY, 1);
  12.     curl_setopt($this -> ch, CURLOPT_HEADERFUNCTION, array($this, &#092;"read_header\")); // *1
  13.  
  14.     $result = curl_exec($this -> ch);
  15.  
  16.     curl_close($this -> ch);
  17.   }
  18.  
  19.   private function read_header( $ch, $string )  // *2
  20.   {
  21.     $len = strlen( $string );
  22.  
  23.     $_string[$len] = $string;
  24.  
  25.    // $this -> catch_array( $_string); // *3
  26.  
  27.     return $len;
  28.   }
  29.  
  30.   public function catch_array( $table )
  31.   {
  32.     // ....
  33.   }
  34. }
  35.  
  36. $neww = new fireFrost();
  37. $neww -> snip_info('');
  38.  
  39. ?>

próbuje odczytać nagłówek strony, do tego użyłem CURLOPT_HEADERFUNCTION dla której argumentem jest wskaźnik $this i nazwa funkcji przechwytującej curl handler oraz zwróconą linię nagłówka (*1). Funkcja read_header (*2) wywoływana jest doputy zwracane są kolejne linie nagłówka. Sama funkcja zwraca długość nagłówka (istotę jej działania nie do końca pojąłem, bez zwróconego $len nie działa... byłbym wdzięczny gdyby ktoś również rozjaśnił mi tą sprawę winksmiley.jpg)
w czym problem... próbuję zapisać dane do tablicy $_string ale mam wrażenie że za każdym razem zostaje nadpisana, pozatym jak zwrócić tą tablicę skoro zwracany jest $len ? mogę wywołać drugąfunkcję (*3) ale ona też będzie wywoływana co pętle... help me..
nospor
Zadeklaruj se w kalsie zmienną $_string, a potem się do niej odwoluj $this->_string i nie będziesz jej musial zwracać.

Ta tablica $_string może byćnadpisywana, gdyż robisz jej indexy będące dlugością jakiegoś tam stringa, w przypadku gdy wszystkie stringi mają tę samą dlugośc np. 2, zawsze zapisujesz pod tym samym indexem (np $_string[2]), przez co nadpisywane są stare informacje.

Nie wiem o co chodzi z tą klasą, ale takie nasunęly mi się logiczne wnioski. Może się przydadzą
ennics
ehh... nie działa tak jak chciałem ale najprościej będzie jak wrzucę to do sessji...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.