Ⅰ php伺服器怎樣返回數據給客戶端反饋HTTP POST請求,發送位元組流數據給客戶端
你用fread 來讀取文件,header不行
Ⅱ PHP 如何向 MySQL 發送數據
姓: < input type=text name=first_name size=25 maxlength=25>
名: < input type=text name=last_name size=25 maxlength=25>< p>< input type=submit>< /form>< /body>< /html>當你輸入數據,並按下 submit 按鈕後,這個表單將把數據發送到 submitform.php(做為現在的主流開發語言)3 。再由這個 php(做為現在的主流開發語言) 腳本來處理收到的數據,下面就是 submitform.php(做為現在的主流開發語言)3 的代碼:< html>< body>< ?php(做為現在的主流開發語言)
MySQL(和PHP搭配之最佳組合)_connect (localhost, username, password);
MySQL(和PHP搭配之最佳組合)_select_db (dbname);
MySQL(和PHP搭配之最佳組合)_query ("INSERT INTO tablename (first_name, last_name)
VALUES ($first_name, $last_name)");print ($first_name);
print (" ");
print ($last_name);
print ("< p>");
當你按下 submit 之後,可以看到你輸入的名字被顯示在一個新的頁面中。再看一看瀏覽器的URL 欄,它的內容應該是像這樣的:
… /submitform.php(做為現在的主流開發語言)3?first_name=Fred&last_name=Flintstone
因為我們用到的是表單 GET 方法,因此數據是通過 URL 來傳送到 submitform.php(做為現在的主流開發語言)3的。顯然, GET 方法是有局限性的,當要傳遞的內容很多時,就不能用 GET 了,只能用 POST 方法。但不管用什麼方法,當數據傳送完成後, php(做為現在的主流開發語言) 自動的為每一個表單中的欄位建立一個和他們的名字(表單的 name 屬性)相同的變數。
php(做為現在的主流開發語言) 變數都已用一個美元符號開頭的,這樣,在 submitform.php(做為現在的主流開發語言)3 腳本處理的過程中,就會有 $first_name 和 $last_name 這兩個變數了,變數的內容就是你輸入的內容。
我們來檢查一下你輸入的名字是否真的被輸入到資料庫中了。啟動 MySQL(和PHP搭配之最佳組合),在 MySQL(和PHP搭配之最佳組合)> 提示符下輸入:
MySQL(和PHP搭配之最佳組合)> select * from tablename;
你應該可以得到一個表,內容就是你剛才輸入的了:
+------------+------------+
| first_name | last_name |
+------------+------------+|柳 | 如風+------------+------------+
1 rows in set (0.00 sec)
腳本的開始兩行是:
MySQL(和PHP搭配之最佳組合)_connect (localhost, username, password);
MySQL(和PHP搭配之最佳組合)_select_db (dbname);
這兩個函數調用用來打開 MySQL(和PHP搭配之最佳組合) 資料庫,具體的參數的含義剛才已經說過了。
下面的一行是執行一個 SQL 語句 :
MySQL(和PHP搭配之最佳組合)_query ("INSERT INTO tablename (first_name, last_name)
VALUES ($first_name, $last_name)");MySQL(和PHP搭配之最佳組合)_query 函數就是用來對選定的資料庫執行一個 SQL 查詢。你可以在 MySQL(和PHP搭配之最佳組合)_query 函數中執行任何的 SQL 語句。
Ⅲ 怎麼用php與串口進行通信
1.通過php擴展dio。
下載dio擴展:http://www.cyberspice.org.uk/downloads/dio-0.0.4rc3.tgz
在php.ini打開dio擴展。
dio開啟後可以通過dio_open dio_read等函數進行通信。但dio默認只是在Linux下的,好像pecl也有編譯後的php_dio.dll,但我在win下測試其實無法正常使用,可能是我php版本太高(5.3.3)。
dio擴展如果能打開,網上自然有很多實例
<?php
$c = stream_context_create(array('dio' =>
array(『data_rate』 => 115200,
『data_bits』 => 8,
『stop_bits』 => 1,
『parity』 => 0,
『is_canonical』 => 1)));
if (PATH_SEPARATOR != 「;」) {
$filename = 「dio.serial:///dev/ttyS0″;
} else {
$filename = 「dio.serial://COM1″;
}
?>
2.PHP_SER擴展
這是一個第三方擴展,可以在php5.3.3上正常使用,我測試結果是比較穩定,提供了單位元組流通信和非同步通信。對於單位元組流通信我還專門請教了作者,發現原來可以通過loop讀取數據流的。需要注意的是ser_write()的數據是字元型,但是ser_read()的數據則是10進制。所以發送的時候最好轉換為hex,接收後由十進制再轉為十六進制才能正常使用。
還有就是php_ser作為第三方擴展,作者是收費的。免費版本沒有功能限制,只是每次收發位元組數不能超過1024位元組。
function x_get_cgqbh() {
$str = 『at+ver?』;
$str = hexToStr($str);
ser_open( 「COM1″, 9600, 8, 「None」, 「1″, 「None」 );
if (ser_isopen()) {
return 「opened, post data ……」;
}else{
return false;
}
ser_write(「$str」);
sleep(1);
$str = ser_read();
ser_close();
return $str;
}
Ⅳ php 我請求對方的介面時,對方會把介面請求的狀態發到我提供的介面,我怎麼才能回調到我介面的數據
直接$_GET或者$_POST獲取對方發送的數據就行了,前提是對方有再次請求你介面發送0/1鍵值對
Ⅳ php 接收ios 圖片上傳的數據流 $s = base64_decode($byte); 用base64接收沒值。求救!!!!
不管什麼方式傳遞數據流,php服務端只有一種方式獲取數據,那就是post。
Ⅵ php處理位元組流
位元組流是由位元組組成的,
位元組流是最基本的,所有的InputStrem和OutputStream的子類都是,主要用在處理二進制數據,它是按位元組來處理的
字元流和位元組流都是什麼
流就是stream. 一個連續的位元組隊列。
流是程序輸入或輸出的一個連續的位元組序列,設備(例如滑鼠,鍵盤,磁碟,屏幕和列印機)的輸入和輸出都是用流來處理的。在C語言中,所有的流均以文件的形式出現---不一定是物理磁碟文件,還可以是對應與某個輸入/輸出源的邏輯文件
流(streams)在I/O系統中是一種I/O機制和功能,或者稱為streams子系統。它本身並不是一個物理設備的概念。
引入流的目的:
傳統的字元設備驅動程序框架有許多缺點,這表現在:
。內核與字元設備驅動程序間介面的抽象層次太高
。內核沒有為字元設備提供可靠的緩沖區分配和管理功能
。許多系統對字元設備的界面是把數據看成是FIFO(先進先出)的位元組流,因此沒有識別消息邊界,區分普通設備和控制信息,以及判定不同消息優先順序的能力,也沒有位元組流流量控制
。在網路數據傳輸設備中這些問題更突出。網路中數據傳輸是基於消息或數據分組的。
流的概念:
用通訊中的術語來說,流是全雙工的處理過程,它是內核中驅動程序和用戶進程之間的數據傳輸通道。
從流的構造上來說,它由一個流頭,一個流驅動程序尾,以及其間的零個或若干個可選模塊構成 。流頭是一個用戶級介面,它允許用戶應用程序通過系統調用介面來訪問流。驅動程序尾與底層設備通信。在流的中間的模塊是處理數據的。
位元組流與字元流主要的區別是他們的的處理對象
位元組流是由位元組組成的,字元流是由字元組成的. Java里字元由兩個位元組組成.
位元組流是最基本的,所有的InputStrem和OutputStream的子類都是,主要用在處理二進制數據,它是按位元組來處理的
但實際中很多的數據是文本,又提出了字元流的概念,它是按虛擬機的encode來處理,也就是要進行字元集的轉化。在從位元組流轉化為字元流時,實際上就是byte[]轉化為String時,
public String(byte bytes[], String charsetName)
有一個關鍵的參數字元集編碼,通常我們都省略了,那系統就用操作系統默認的lang
流式傳輸主要指將整個音頻和視頻及三維媒體等多媒體文件經過特定的壓縮方式解析成一個個壓縮包,由視頻伺服器向用戶計算機順序或實時傳送。在採用流式傳輸方式的系統中,用戶不必像採用下載方式那樣等到整個文件全部下載完畢,而是只需經過幾秒或幾十秒的啟動延時即可在用戶的計算機上利用解壓設備對壓縮的A/V、3D等多媒體文件解壓後進行播放和觀看。此時多媒體文件的剩餘部分將在後台的伺服器內繼續下載。
Ⅶ PHP的傳輸數據加密是怎麼實現的
傳輸數據的時候通過md5或者哈西演算法這些,把某些欄位加密,還有多種加密組合到一起,然後獲取的時候再解密,這樣防止別人獲取到一些信息
Ⅷ 用php-redis給全部用戶發送郵件,數據量很大,思路應該是什麼樣的
思路如下:php接收到發送郵件的請求後,將用戶id存儲進入redis中,以隊列的形式存儲利用定時任務非同步的去redis中尋找用戶id隊列,並每次取出一定個數的用戶id腳本內部利用用戶ID來尋找email地址進行郵件發送,發送成功去除隊列中的用戶id
Ⅸ 如何向php伺服器發送數據為json的post請求
用curl
$ch = curl_init();
$header[] = "Content-type: text/xml";//定義content-type為xml
curl_setopt($ch, CURLOPT_URL, $url); //定義表單提交地址
curl_setopt($ch, CURLOPT_POST, 1); //定義提交類型 1:POST ;0:GET
curl_setopt($ch, CURLOPT_HEADER, 1); //定義是否顯示狀態頭 1:顯示 ; 0:不顯示
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//定義請求類型
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//定義是否直接輸出返迴流
curl_setopt($ch, CURLOPT_POSTFIELDS, $postStr); //定義提交的數據,這里是XML文件
$res = curl_exec($ch);
curl_close($ch);//關閉
Ⅹ 幾種PHP發送HTTP請求的方式分享
stream_context_create 作用:創建並返回一個文本數據流並應用各種選項,可用於 fopen(), file_get_contents() 等過程的超時設置、代理伺服器、請求方式、頭信息設置的特殊過程。