Có
rất nhiều công ty tài chính hay bất động sản khi yêu cầu thiết kế web, thường
đòi hỏi mục hiển thị tỷ lệ giá tiền tệ cũng như chức năng cho phép người xem
khi viếng thăm website của họ có thể tự tay chuyển đổi đơn vị tiền tệ theo tỷ
giá mới nhất. Nếu các bạn đang phân vân chưa biết làm sao thì qua bài viết
này,mình sẽ chia sẻ cho các bạn đoạn code bằng PHP giúp các bạn có thể tạo ứng
dụng như thế ngay trên website hay blog của mình.
Để
minh họa ứng dụng, chúng ta cần tạo 2 file index.php và convert.php.
Index.php
File
này sẽ chứa danh sách các đơn vị tiền tệ cần chuyển đổi và một ô nhập giá trị
cần đổi.
1.
<?php
2.
include "convert.php";
3.
$from =
isset($_POST['from']) ? $_POST['from'] : '';
4.
$to =
isset($_POST['to']) ? $_POST['to'] : '';
5.
$amount =
isset($_POST['amount']) ? $_POST['amount'] : '';
6.
$content = "";
7.
if($_POST){
8.
if(!is_numeric($amount)){
9.
$content .= "<br><span
style='background-color:red;padding:5px;color:#fff;'>Invalid
amount.</span>";
10. }
11. elseif($from == $to){
12. $content .=
"<br><span
style='background-color:red;padding:5px;color:#fff;'>Please select distinct
currencies.</span>";
13. }
14. else{
15. $rawData =
currencyConvert($from,$to,$amount);
16. $regex = '#\<span class=bld\>(.+?)\<\/span\>#s';
17. preg_match($regex,
$rawData, $converted);
18. $result =
$converted[0];
19. if($result ==
""){
20. $content .=
"<br><span
style='background-color:red;padding:5px;color:#fff;'>Exchange Rate not
available.</span>";
21. }
22. else{
23. $content .=
"<br><span
style='background-color:lime;padding:5px;'>".$amount."
".$from." = ".$result."</span>";
24. }
25. }
26. }
27. $listFrom = '
28. <select
name="to">
29. <option value="AED">United Arab Emirates
Dirham (AED)</option>
30. <option value="EUR">Euro (€)</option>
31. <option value="GBP">British Pound
Sterling (£)</option>
32. <option value="INR">Indian Rupee
(Rs.)</option>
33. <option value="PKR">Pakistani Rupee
(PKR)</option>
34. <option value="SGD">Singapore Dollar
(SGD)</option>
35. <option value="USD">US Dollar ($)</option>
36. </select>
37. ';
38. $listTo = '
39. <select
name="to">
40. <option value="AED">United Arab Emirates
Dirham (AED)</option>
41. <option value="EUR">Euro
(€)</option>
42. <option value="GBP">British Pound
Sterling (£)</option>
43. <option value="INR">Indian Rupee
(Rs.)</option>
44. <option value="PKR">Pakistani Rupee
(PKR)</option>
45. <option value="SGD">Singapore Dollar
(SGD)</option>
46. <option value="USD">US Dollar
($)</option>
47. </select>
48. ';
49. $listFrom =
str_replace("\"$from\"","\"$from\"
selected",$listFrom); // Make dropdown selected
50. $listTo =
str_replace("\"$to\"","\"$to\"
selected",$listTo); // Make dropdown selected
51. $content .='<form
action="" method="post" name="f">
52. <input
name="amount" maxlength="12" size="5"
autocomplete="off" value="'.$amount.'"><br />
53. <div>
54. '.$listFrom.'
55. </div>
56. <div
style="padding: 6px 8px">to</div>
57. <div>
58. '.$listTo.'
59. </div>
60. <input type=submit
value="Convert">
61. </form>';
62. ?>
convert.php
Đây
chính là chìa khóa của bài viết, các bạn copy toàn bộ đoạn code bên dưới và dán
vào file này để thực hiện quá trình chuyển đổi tiền tệ.
1.
<?php
2.
function currencyConvert($from,$to,$amount){
3.
$url =
"http://www.google.com/finance/converter?a=$amount&from=$from&to=$to";
4.
$request = curl_init();
5.
$timeOut = 0;
6.
curl_setopt ($request, CURLOPT_URL, $url);
7.
curl_setopt ($request, CURLOPT_RETURNTRANSFER, 1);
8.
curl_setopt ($request, CURLOPT_USERAGENT,"Mozilla/4.0
(compatible; MSIE 8.0; Windows NT 6.1)");
9.
curl_setopt ($request, CURLOPT_CONNECTTIMEOUT, $timeOut);
10. $response =
curl_exec($request);
11. curl_close($request);
12. return $response;
13. }
14. ?>
Hàm
currencyConvert sẽ nhận 3 tham số và gửi đến cho Google finance bằng cách sử
dụng HTTP và nó sẽ trả về kết quả. Mình
hy vọng là qua bài viết này, các bạn sẽ có kinh nghiệm trong việc sử dụng
Google finance cũng như có thêm một ứng dụng hay cho website hay blog của mình.
Tin khác:
0 nhận xét:
Đăng nhận xét