PHP &

0 Cevap php

İçimde cURL ile, bir süre döngü var. (Ben çeşitli nedenlerle curl_multi kullanamazsınız.) Sorun Curl her döngü geçişi sonrasında Mesajları verileri kaydetmek gibi görünüyor olmasıdır. Örneğin, eğer parametre, X One üzerinden ilk döngü olduğunu ve iki yoluyla ikinci döngü, Curl mesaj ise: "Bir, İki". Sadece "İki" POST olmalıdır. (Bu kapatma ve kıvırmak kolu unsetting rağmen.)

İşte (dışarı çıkardı gereksiz bilgi ile) kod basitleştirilmiş bir versiyonu:

<?php   
  while(true){

           // code to form the $url. this code is local to the loop. 
          // so the variables should be "erased" and made new for each 
         // loop through.

    $ch = curl_init();
    $userAgent = 'Googlebot/2.1 (http://www.googlebot.com/bot.html)';
    curl_setopt($ch,CURLOPT_USERAGENT, $userAgent);
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_POST,count($fields));
    curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
    curl_setopt($ch, CURLOPT_FAILONERROR, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    $html = curl_exec($ch);
    curl_close($ch);
    unset($ch);

    $dom = new DOMDocument();
    @$dom->loadHTML($html);
    $xpath = new DOMXPath($dom);
    $resultTable = $xpath->evaluate("/html/body//table");

           // $resultTable is 20 the first time through the loop,
           // and 0 everytime thereafter because the POSTing doesn't work right 
           //with the "saved" parameters. 

What am I doing wrong here?


DÜZENLEME

Michael haklıydı. Ben unset $ alanlar / $ fields_string gerekiyordu. Yeni veriler eski verilerin üzerine birleştirilmiş oldu.

Bu durumda neden ben bile anlamıyorum. $ Alanlar döngü içinde yerel bir değişkendir. Shouldn't it be removed from the stack once the loop ends, and then it'd be created a new?

0 Cevap