php二進(jìn)制數(shù)據(jù)流 php 二進(jìn)制流

php 怎么將二進(jìn)制流轉(zhuǎn)換為base64編碼

沒(méi)有特別作用,因?yàn)槿魏稳酥灰虢舛寄芙忾_(kāi)。 BASE64 是將二進(jìn)制數(shù)據(jù) (8位)編碼為64個(gè)可顯示的 ASCII 字符,3個(gè) octet 編碼成 4 個(gè) octet。因此既不是壓縮,也不是加密。估計(jì)把php編碼成base64只是為了讓人讀起來(lái)麻煩一點(diǎn)。

創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)富裕,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):13518219792

php二進(jìn)制流輸出文件出錯(cuò)

你要的內(nèi)容太多了,只能簡(jiǎn)單的說(shuō)下。fopen (PHP 3, PHP 4, PHP 5)fopen -- 打開(kāi)文件或者 URL 說(shuō)明resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )fopen() 將 filename 指定的名字資源綁定到一個(gè)流上。如果 filename 是 "scheme://..." 的格式,則被當(dāng)成一個(gè) URL,PHP 將搜索協(xié)議處理器(也被稱(chēng)為封裝協(xié)議)來(lái)處理此模式。如果該協(xié)議尚未注冊(cè)封裝協(xié)議,PHP 將發(fā)出一條消息來(lái)幫助檢查腳本中潛在的問(wèn)題并將 filename 當(dāng)成一個(gè)普通的文件名繼續(xù)執(zhí)行下去。 如果 PHP 認(rèn)為 filename 指定的是一個(gè)本地文件,將嘗試在該文件上打開(kāi)一個(gè)流。該文件必須是 PHP 可以訪問(wèn)的,因此需要確認(rèn)文件訪問(wèn)權(quán)限允許該訪問(wèn)。如果激活了安全模式或者 open_basedir 則會(huì)應(yīng)用進(jìn)一步的限制。 如果 PHP 認(rèn)為 filename 指定的是一個(gè)已注冊(cè)的協(xié)議,而該協(xié)議被注冊(cè)為一個(gè)網(wǎng)絡(luò) URL,PHP 將檢查并確認(rèn) allow_url_fopen 已被激活。如果關(guān)閉了,PHP 將發(fā)出一個(gè)警告,而 fopen 的調(diào)用則失敗。 注意: 所支持的協(xié)議列表見(jiàn)附錄 N。某些協(xié)議(也被稱(chēng)為 wrappers)支持 context 和/或 php.ini 選項(xiàng)。參見(jiàn)相應(yīng)的頁(yè)面哪些選項(xiàng)可以被設(shè)定(例如 php.ini 中用于 http wrapper 的 user_agent 值)。 注意: 對(duì) context 的支持是 PHP 5.0.0 添加的。有關(guān) context 的說(shuō)明見(jiàn)參考 CLX, Stream Functions。注意: 自 PHP 4.3.2 起,對(duì)所有區(qū)別二進(jìn)制和文本模式的平臺(tái)默認(rèn)模式都被設(shè)為二進(jìn)制模式。如果在升級(jí)后腳本碰到問(wèn)題,嘗試暫時(shí)使用 't' 標(biāo)記,直到所有的腳本都照以下所說(shuō)的改為更具移植性以后。 mode 參數(shù)指定了所要求到該流的訪問(wèn)類(lèi)型??梢允且韵拢?表 1. fopen() 中 mode 的可能值列表mode說(shuō)明'r'只讀方式打開(kāi),將文件指針指向文件頭。 'r+'讀寫(xiě)方式打開(kāi),將文件指針指向文件頭。 'w'寫(xiě)入方式打開(kāi),將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建之。 'w+'讀寫(xiě)方式打開(kāi),將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建之。 'a'寫(xiě)入方式打開(kāi),將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。 'a+'讀寫(xiě)方式打開(kāi),將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。 'x'創(chuàng)建并以寫(xiě)入方式打開(kāi),將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE,并生成一條 E_WARNING 級(jí)別的錯(cuò)誤信息。如果文件不存在則嘗試創(chuàng)建之。這和給 底層的 open(2) 系統(tǒng)調(diào)用指定 O_EXCL|O_CREAT 標(biāo)記是等價(jià)的。此選項(xiàng)被 PHP 4.3.2 以及以后的版本所支持,僅能用于本地文件。 'x+'創(chuàng)建并以讀寫(xiě)方式打開(kāi),將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE,并生成一條 E_WARNING 級(jí)別的錯(cuò)誤信息。如果文件不存在則嘗試創(chuàng)建之。這和給 底層的 open(2) 系統(tǒng)調(diào)用指定 O_EXCL|O_CREAT 標(biāo)記是等價(jià)的。此選項(xiàng)被 PHP 4.3.2 以及以后的版本所支持,僅能用于本地文件。 注意: 不同的操作系統(tǒng)家族具有不同的行結(jié)束習(xí)慣。當(dāng)寫(xiě)入一個(gè)文本文件并想插入一個(gè)新行時(shí),需要使用符合操作系統(tǒng)的行結(jié)束符號(hào)?;?Unix 的系統(tǒng)使用 \n 作為行結(jié)束字符,基于 Windows 的系統(tǒng)使用 \r\n 作為行結(jié)束字符,基于 Macintosh 的系統(tǒng)使用 \r 作為行結(jié)束字符。 如果寫(xiě)入文件時(shí)使用了錯(cuò)誤的行結(jié)束符號(hào),則其它應(yīng)用程序打開(kāi)這些文件時(shí)可能會(huì)表現(xiàn)得很怪異。 Windows 下提供了一個(gè)文本轉(zhuǎn)換標(biāo)記('t')可以透明地將 \n 轉(zhuǎn)換為 \r\n。與此對(duì)應(yīng)還可以使用 'b' 來(lái)強(qiáng)制使用二進(jìn)制模式,這樣就不會(huì)轉(zhuǎn)換數(shù)據(jù)。要使用這些標(biāo)記,要么用 'b' 或者用 't' 作為

如果幫助到您,請(qǐng)記得采納為滿意答案哈,謝謝!祝您生活愉快! vae.la

php如何生成二進(jìn)制流文件

參考代碼:

?php

$file="images/login.png";

$content = $GLOBALS['HTTP_RAW_POST_DATA'];

if(empty($content)){

$content = file_get_contents('php://input');

}

$result = file_put_contents($file, $content, true);

var_dump($result);

?

php如何將二進(jìn)制字符串轉(zhuǎn)換成二進(jìn)制流?

當(dāng)字符串處理轉(zhuǎn)換就行

/**

 * 將字符串轉(zhuǎn)換成二進(jìn)制

 * @param type $str

 * @return type

 */

 function StrToBin($str){

 //1.列出每個(gè)字符

 $arr = preg_split('/(?!^)(?!$)/u', $str);

 //2.unpack字符

 foreach($arr as $v){

 $temp = unpack('H*', $v); $v = base_convert($temp[1], 16, 2);

 unset($temp);

 }

 return join(' ',$arr);

 }

PHP關(guān)于獲取二進(jìn)制數(shù)據(jù)流轉(zhuǎn)換為文件的方法

?php

$bin= bstr2bin($json);

file_put_contents('../somefold/',$bin);

function bstr2bin($input){

// Binary representation of a binary-string

if (!is_string($input)) return null; // Sanity check

// Unpack as a hexadecimal string

$value = unpack('H*', $input);

// Output binary representation

$value = str_split($value[1], 1);

$bin = '';

foreach ($value as $v){

$b = str_pad(base_convert($v, 16, 2), 4, '0', STR_PAD_LEFT);

$bin .= $b;

}

return $bin;

php怎樣將二進(jìn)制流存到文件中?

整形轉(zhuǎn)化成?2二進(jìn)制?可以用??base_convert:

$str?=?0x8000;

echo?$str2?=?base_convert($str,?16,?2);

echo?'br';

echo?base_convert($str2,?2,?16);

[code]

字符串?文件等?可以考慮用?pack?和?unpack?轉(zhuǎn)化成二進(jìn)制

[code=PHP]

$file1?=?'F:/46.gif';???????????//隨便拷一個(gè)圖片作為測(cè)試用

$file2?=?'F:/test.txt';?????????//生成的二進(jìn)制流保存在這個(gè)文件里

$file3?=?'F:/47.gif';???????????//由二進(jìn)制流還原成的文件

$size?=?filesize($file1);

echo?'文件大小為:'.$size;

echo?"\nbr轉(zhuǎn)化為二進(jìn)制?...";

$content?=?file_get_contents($file1);

$content?=?bstr2bin($content);

$fp?=?fopen($file2,?'w');

fwrite($fp,?$content);

fclose($fp);

$size2?=?filesize($file2);

echo?'轉(zhuǎn)化成二進(jìn)制后文件大小為:'.$size2;

$content?=?bin2bstr($content);

$fp?=?fopen($file3,?'w');

fwrite($fp,?$content);

fclose($fp);

function?bin2bstr($input)

//?Convert?a?binary?expression?(e.g.,?"100111")?into?a?binary-string

{

if?(!is_string($input))?return?null;?//?Sanity?check

//?Pack?into?a?string

$input?=?str_split($input,?4);

$str?=?'';

foreach?($input?as?$v)

{

$str?.=?base_convert($v,?2,?16);

}

$str?=??pack('H*',?$str);

return?$str;

}

function?bstr2bin($input)

//?Binary?representation?of?a?binary-string

{

if?(!is_string($input))?return?null;?//?Sanity?check

//?Unpack?as?a?hexadecimal?string

$value?=?unpack('H*',?$input);

//?Output?binary?representation

$value?=?str_split($value[1],?1);

$bin?=?'';

foreach?($value?as?$v)

{

$b?=?str_pad(base_convert($v,?16,?2),?4,?'0',?STR_PAD_LEFT);

$bin?.=?$b;

}

return?$bin;

}

標(biāo)題名稱(chēng):php二進(jìn)制數(shù)據(jù)流 php 二進(jìn)制流
轉(zhuǎn)載注明:http://muchs.cn/article28/hjdpcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、電子商務(wù)企業(yè)網(wǎng)站制作、網(wǎng)站建設(shè)、定制開(kāi)發(fā)、小程序開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作