沒(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
你要的內(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
$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);
?
當(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
$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;
整形轉(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)