'RMB' ); function getAuth() { $ff = HTML_FlexyFramework::get(); if (!empty($ff->cli)) { $this->cli = true; return true; } die("NOT ALLOWED"); } function get() { echo "obtain the currency lists... \n"; $currency = array(); $response = $this->curl($this->actionUrl, array(), 'GET'); libxml_use_internal_errors (true); $doc = new DOMDocument(); $doc->loadHTML($response); libxml_use_internal_errors (false); $xpath = new DOMXpath($doc); $elements = $xpath->query("//select[@name='exch']/option"); foreach($elements as $el) { $currency[] = $el->getAttribute('value'); } if(empty($currency)){ die('no any currency'); } foreach ($currency as $c){ $params = array( 'lang' => 'en', 'result' => 1, 'date1' => date('m/d/y', strtotime("-6 MONTH")), 'date'=> date('m/d/y'), 'date_fmt' => 'us', 'exch' => $c, 'expr' => 'USD', 'margin_fixed' => 0, 'format'=> 'CSV' ); } $response = $this->curl($this->actionUrl, $params, 'POST'); libxml_use_internal_errors (true); $doc = new DOMDocument(); $doc->loadHTML($response); libxml_use_internal_errors (false); $xpath = new DOMXpath($doc); $ts = $xpath->query("//table[@id='converter_table']"); $elements = $xpath->query("./div", $ts->item(0)); print_r($elements); } function curl($url, $request = array(), $method = 'GET') { if(is_array($request)){ $request = http_build_query($request); } $url = $url . ($method == 'GET' ? "?" . $request : ''); $ch = curl_init($url); if ($method == 'POST') { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $request); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded", "Content-Length: " . strlen($request))); } curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $response = curl_exec($ch); curl_close($ch); return $response; } /* lang:en result:1 date1:10/14/14 date:10/20/14 date_fmt:us exch:USD exch2: expr:EUR expr2: margin_fixed:0 format:HTML SUBMIT:Get Table */ }