首先,通过Composer安装库: composer require joshuajohnson/php-money-exchange-rate 然后,使用以下PHP代码进行转换: require 'vendor/autoload.php'; use Money\Currency; use Money\Money; use Money\Exchange\Swap; use Money\Exchange\PhpExchange; // 初始化交换机和API $swap = new Swap(new PhpExchange(), new \Http\Discovery\Psr17FactoryDiscovery()); // 设置要转换的金额和原始货币 $originalCurrency = new Currency('USD'); $originalAmount = 100; $convertedMoney = $swap->quote( $originalAmount, $originalCurrency, new Currency('EUR') ); // 打印转换后的金额 echo $convertedMoney->getAmount() / 100, "\n"; 请注意,你需要有一个有效的API密钥才能使用某些API服务。上面的代码示例使用了php-money-exchange-rate库中的Swap类,它会根据配置自动选择合适的API。如果你想使用特定的API,你可以直接使用HTTP客户端进行请求。
php 版本7.3以上
php 扩展:intl(通用扩展 · 提供国际化支持)
//获取当前用户的ip protected function getUserRealIP() { $headers = array( 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR' ); foreach ($headers as $header) { if (isset($_SERVER[$header]) && filter_var($_SERVER[$header], FILTER_VALIDATE_IP)) { $ip = $_SERVER[$header]; } } //当前访问的ip地址 $ip = isset($ip) ? $ip : $_SERVER['REMOTE_ADDR']; return $this->getCurrencyByIP($ip); } //获取当前币种 protected function getCurrencyByIP($ip) { $apiUrl = "http://ip-api.com/json/" . $ip; $curl = curl_init($apiUrl); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl); $data = json_decode($response, true); if ($data && $data['status'] === 'success') { // 返回当地的货币代码,例如 'USD' 或 'EUR' return $data['countryCode']; } else { // 如果无法获取或API返回错误,则返回false return 'NT'; //默认台币 } } //请求 $res = $this->getUserRealIP(); var_dump($res);
标签:HTTP,ip,获取,API,IP地址,new,curl,php From: https://www.cnblogs.com/dream-meng/p/18294284