第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 PHP 進行異步 API 處理

使用 PHP 進行異步 API 處理

PHP
慕姐4208626 2022-12-03 10:58:05
我有這個 PHP 函數,可以將訪問者記錄到一個.txt文件中(出于安全原因)。它使用 API 來獲取他們的位置。它在 上運行良好localhost,但當它實際運行時,它會記錄空值。我假設這是因為函數在 API 有時間返回數據之前運行。有沒有辦法編寫類似 Javascriptpromise或一些異步函數的方法,在記錄數據之前等待數據返回?這就是我目前擁有的:function getLocation() {    $query = @unserialize (file_get_contents('http://ip-api.com/php/'));    if ($query && $query['status'] == 'success') {        $user = $_SERVER['REMOTE_ADDR'].' - '.date("H:i:s d-m-Y").' - '.$query['country'].', '.$query['regionName'].', '.$query['city'].', '.$query['zip'];        $file = '../logs/userlog.txt';        $currentFileData = file_get_contents($file);        $currentFileData .= $user . PHP_EOL;        file_put_contents($file, $currentFileData);    }}輸出應該是什么:127.0.0.1 - 11:59:33 03-04-2020 - South Africa, Western Cape, Cape Town, 8001實際輸出是什么:127.0.0.1 - 11:59:33 03-04-2020 - , , , 對你的幫助表示感謝!
查看完整描述

2 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

您沒有在 URL 的 /php/ 部分之后傳遞文檔中所述的 IP 地址。它應該是

$query = @unserialize (file_get_contents('http://ip-api.com/php/' . $_SERVER['REMOTE_ADDR']));



查看完整回答
反對 回復 2022-12-03
?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

已解決:感謝@DanielProtopopov 的帖子,我實際上在文檔中發(fā)現此php版本的 API 已被棄用。所以使用@DanielProtopopov 的修復程序我必須使用 JSON API 才能工作:

$query = json_decode(file_get_contents('http://ip-api.com/json/' . $_SERVER['REMOTE_ADDR']));



查看完整回答
反對 回復 2022-12-03
  • 2 回答
  • 0 關注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號