• 27 odgovora
  • 7.227 pregleda
Re: Nekoliko pitanja u vezi RSS-a 02.11.2007. u 08:25 · pre 231 meseci #21
Ovo nece da radi posto je:
Code:

allow_url_fopen    Off


tako da ovaj deo:
Code:

$fp = fopen("test.xml", "w");


pada u vodu ... :(
Re: Nekoliko pitanja u vezi RSS-a 02.11.2007. u 08:30 · pre 231 meseci #22
pa kolko razumem allow_url_fopen se odnosi na otvaranje fajlova sa fopen-om na nekoj remote lokaciji. a ovaj fajl test.xml je na serveru, u istom dir-u gde i php skript koji mu pristupa.
Re: Nekoliko pitanja u vezi RSS-a 02.11.2007. u 13:52 · pre 230 meseci #23
Da mislim da si u pravu, moja greska...

Ali mi i dalje onaj kod ne radi posao, evo pogledaj i sam koju grsku dobijam
Code:

Warning: fopen(test.xml) [function.fopen]: failed to open stream: Permission denied in /home/web/bbbbb/ccccccccc/www/test.php on line 12


Re: Nekoliko pitanja u vezi RSS-a 02.11.2007. u 16:11 · pre 230 meseci #24
pa sad vidim, nisam imao prava da upisujem u taj folder.


Uz neke manje izmene + chmod 777 i proradilo je ...


HVALA...
Re: Nekoliko pitanja u vezi RSS-a 02.11.2007. u 20:33 · pre 230 meseci #25
Rano sam se ponadao :( , vidi sad ovo:


Code:



function sacuvaj_sliku($path_from, $path_to)
{
    
  $curl = curl_init();

  $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
  $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
  $header[] = "Cache-Control: max-age=0";
  $header[] = "Connection: keep-alive";
  $header[] = "Keep-Alive: 300";
  $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
  $header[] = "Accept-Language: en-us,en;q=0.5";
  $header[] = "Pragma: "; // browsers keep this blank.

  curl_setopt($curl, CURLOPT_URL, $path_from);
  curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)');
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  curl_setopt($curl, CURLOPT_REFERER, 'http://www.google.com');
  curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
  curl_setopt($curl, CURLOPT_AUTOREFERER, true);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_TIMEOUT, 10);

  $html = curl_exec($curl);
  curl_close($curl);
  
  if($file=fopen($path_to, "w")){
        fwrite($file, $html);
        
        echo '<br>SLIKA JE PREVUCENA USPESNO ...<br>';
        
   } 
   
   fclose($file);
  
  
}

$items = array_slice($rss->items, 0, 5);

$t = 1;

foreach ($items as $item) {

$lnk_slika_vesti = "../../images/vesti/slika$t"; // ovako zato sto se skripta nalazi u scripts/include/

if(da li je ovo nova vest){

         INSERT INTO rss_table VALUES ... cuvanje vesti ...
         echo '<br>'.$t.') VEST - UPISANA<br>';
         sacuvaj_sliku($src, $lnk_slika_vesti);

}else{
        echo $t.') VEST - VEC POSTOJI<br>';
}

$t += 1;

}



OVO JE SAMO DEO KODA.

Skripta radi tako sto prvo proveri da li vec postoji neka vest upisana u bazi pa ako postoji preskoci je a ako ne postoji upisuje je i prevlaci i sliku u loakalni folder images/vesti/

ovo sve dobro odradi ali samo prvi put, upise u bazu i prevuce sliku, ali za ostale slucaje brljavi, tj, kreira slike ali su sve iste velicine i istog sadrzaja:
Code:

 <h1>Bad Request</h1>



eto, lepo mi se neda ...

Re: Nekoliko pitanja u vezi RSS-a 05.11.2007. u 13:57 · pre 230 meseci #26
sorry sto kasno odgovaram...

ne vidim tacno sta je moglo poci po zlu, ali... u funkciji sacuvaj_sliku(), na pocetku, prvi red te funkcije stavi da bude

$file = '';

to je da ispraznis sadrzaj tog fajla. ako kazes da ti je nakon prvog puta sve slike iste, onda mislim da ti je sadrzaj te promenljive ostao popunjen pa on stalno dopisuje na to. moguce da nije ovo resenje, ali probaj, cini mi se da to fali...

e da. kod jednog if-a proveru radis sa = a trebalo bi da radis sa == moguce je da je i to problem, proveri.



Re: Nekoliko pitanja u vezi RSS-a 06.11.2007. u 03:45 · pre 230 meseci #27
Evo malo sam modifikovao funkciju ali i dalje ne dobijam sve slike, doduse malo je bolje posto dobijam 3 od 5 :)))).

Evo je funkcija:
Code:

function sacuvaj_sliku($path_from, $path_to)
{
  $file = '';
  $html = '';
    
  $curl = curl_init();

//  $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
//  $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
// $header[] = "Cache-Control: max-age=0";
//  $header[] = "Connection: keep-alive";
//  $header[] = "Keep-Alive: 300";
//  $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
//  $header[] = "Accept-Language: en-us,en;q=0.5";
//  $header[] = "Pragma: "; // browsers keep this blank.

  curl_setopt($curl, CURLOPT_URL, $path_from);
  curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)');
//  curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  curl_setopt($curl, CURLOPT_REFERER, 'http://www.google.com');
//  curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
  curl_setopt($curl, CURLOPT_ENCODING, "");
  curl_setopt($curl, CURLOPT_AUTOREFERER, true);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//  curl_setopt($curl, CURLOPT_TIMEOUT, 10);
  curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 120);      // timeout on connect
  curl_setopt($curl, CURLOPT_TIMEOUT, 120);      // timeout on response
  curl_setopt($curl, CURLOPT_MAXREDIRS, 10);       // stop after 10 redirects

  $html = curl_exec($curl);
  curl_close($curl);   
  
  $file = fopen($path_to, "w");
  echo "file = $file";

  if(!is_null($file)){

        $bzv = fwrite($file, $html);
        
        echo '<br>SLIKA VELICINE '.$bzv.'B JE PREVUCENA USPESNO ...<br>';
        
   } 
   
   
   fclose($file);
  
}




Znaci treba da skine 5 slika

prvu sliku skine, velicine 5056B
drugu sliku skine, velicine 3360B
treca slika je velizine 20B, i ustvari nije slika vec tekstualni fajl sadrzaja <h1>Bad Request</h1> sa ekstenzijom .jpg
cetvrta slika je velizine 20B, i ustvari nije slika vec tekstualni fajl sadrzaja <h1>Bad Request</h1> sa ekstenzijom .jpg
petu sliku skine, velicine 8732B

()

a, kakav trip, priznaj :)).

Eto ako vidis nesto sto mi je promaklo javi, ja buljim u ovo 2 sata i nista ne vidim ...


Pozdrav...

Re: Nekoliko pitanja u vezi RSS-a 06.11.2007. u 19:49 · pre 230 meseci #28
ne mogu da provalim.

jedino ti sledece mogu savetovati:

ubaci u funkciju:

$intReturnCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

i ispisuj je u svakom koraku. vidi sta ti javlja. dace ti neki broj tipa 404, 200 i tako to. mozda pomogne da vidimo gde pravi gresku.
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme