2019年12月24日 星期二

PHP 數值格式化

<?php

$s  = 1000000;
$s1 = 1000000.1111110;
echo return_number_int_or_floor($s,2) . "<hr>";
echo return_number_int_or_floor($s1,2) . "<hr>";

function return_number_int_or_floor($number, $floor = 0)
{
    if (floor($number) == $number) {
        return $formattedNum = substr(rtrim(number_format($number, $floor, ".", ","), 0), 0, -1);
    }
    return $formattedNum = rtrim(number_format($number, $floor, ".", ","), 0);
}

數值處理,正格式化,剃除整數最後字串為.00的方法



2019年12月18日 星期三

Clear Cache in Laravel

Clear Cache in Laravel
第一次遇到 route 被 Cached...........................................
最快解法
Route::get('/clear-cache', function() {
    Artisan::call('cache:clear');
    return "Cache is cleared";
});

2019年12月12日 星期四

PHP~當客戶端喔

一個寧靜的下午
遇到一個要由PHP 當 客戶端的情境
往往都是PHP 當伺服器在接收客戶端的服務
這次反過來要去當客戶端
發送訊息給另一個伺服器
服務的伺服器為WebSocket Server
這個要搭建起來用PHP + Html5 根本無難度
但是要由PHP send message .... 一直卡住
翻尋許久,求助大大神
最後滑倒後踢到垃圾桶,踩到黃金等等
發現了
# "textalk/websocket
  # use WebSocket\Client;
  # composer  require textalk/websocket
開心的加載進去,剩下的就差不多了....
$client = new Client("ws://" . $this->input->server('HTTP_HOST') . ":".'port');
$client->send('47b6"}}');
$client->receive();
<途中插曲>
Port 忘記打開.... 所以一直連接不上

2019年12月4日 星期三

WebSocket 壓力測試 Example(多執行緒)

使用工具 :
Python 3.8
程式碼:
import websocket
try:
    import thread
except ImportError:
    import _thread as thread
import time
import threading
import json

"""
這是一個卡 WebSocket 的 Example
"""

def on_message(ws, message):
    # parse x:
    message = json.loads(message)
    print("message", message, "\n")
    print("\n");


def on_error(ws, error):
    # print(error)
    print("error", error, "\n")


def on_close(ws):
    print("### closed ###")

def on_open(ws):
    print("ws coennet...")
    # def run(*args):
    #     print("ws coennet...")
    #     # for i in range(3):
    #     #     time.sleep(1)
    #     #     ws.send("Hello %d" % i)
    #     # time.sleep(1)
    #     # ws.close()
    #     print("thread terminating...")
    # thread.start_new_thread(run, ())


def run_s(i):
    websocket.enableTrace(True)
    wsc = "接口"
    ws = websocket.WebSocketApp(wsc,
                                on_message=on_message,
                                on_error=on_error,
                                on_close=on_close)
    ws.on_open = on_open
    ws.run_forever()


if __name__ == "__main__":
    # 建立 5 個子執行緒
    num = 1
    threads = []
    for i in range(num):
        threads.append(threading.Thread(target=run_s, args=(i,)))
        threads[i].start()
    # 等待所有子執行緒結束
    for i in range(num):
        threads[i].join()

    print("Done.")
QQ,我的臉書被排擠了.........

拯救老電腦

 Sempron 3850 Socket AM1入門四核處理器 2014 8ram  作業系統 windows 10 1904 評論: 八年的核心,其他的故障電腦拆解零組件都是拼裝. 整體使用上,可以基本文書,瀏覽網站,聽音樂等等都可以接受的。 下次再來繼續搞更多..