php二進制圖片
⑴ php 圖片以二進制流的形式存入資料庫。並且能顯示出來。
這個真不會。
⑵ PHP十六進制,十進制,八進制,二進制怎麼轉回原本的文字
你是在說進制間的轉換嗎?
base_convert() 函數貌似能幫助你
比如
$a = 120;// 十進制數
// 將此十進制數轉換為 2進制
echo base_convert($a , 10 , 2); // 結果是 1111000
// 在吧 1111000 轉回 120 十進制 也就二進制賺十進制
echo base_convert(1111000 , 2 , 10);
至於其他進制間轉換 就跟上面的操作一樣了。
⑶ php中使用fopen和fread上傳二進制圖片失敗,請問哪裡有問題急!
$tpmc=str_replace(""," ",$tpmc); //將圖片名稱中的空格以" "取代
$author=$_SESSION['admin'];
$scsj=date("y;m;d"); //設置圖片的上傳時間
$fp=fopen($file,"r"); //以只讀方式打開文件
$file=addslashes(fread($fp,filesize($file)));//將文件中的引號部分加上反斜線
改為
$file=str_replace(""," ",$tpmc); //將圖片名稱中的空格以" "取代
$author=$_SESSION['admin'];
$scsj=date("y;m;d"); //設置圖片的上傳時間
$fp=fopen($file,"r"); //以只讀方式打開文件
$file=addslashes(fread($fp,filesize($file)));//將文件中的引號部分加上反斜線
$file 得有值呀,把 $file=str_replace(""," ",$tpmc); 改了試試,應該就好了
⑷ php將圖片轉為二進制後,我想得到二進制的數據,但是直接在瀏覽上輸出會亂碼
如果 你是想保存成圖片文件的話, 那你就把二進制數據寫到文件里, 記得文件後綴是 gif
For Example:
file_put_contents('1.gif', $a);
⑸ php接收二進制文件怎麼替換裡面的內容
php接收二進制文件怎麼替換裡面的內容
php接收二進制文件如下:
<?php
header('Content-type: text/html; charset=utf-8');
error_reporting(0);
$filename = $_GET["filename"];
$filesize = $_GET["filesize"];
$xmlstr = $GLOBALS[HTTP_RAW_POST_DATA];//$_POST["data"];//
if(empty($xmlstr)) $xmlstr = file_get_contents('php://input');
$raw = $xmlstr;//得到post過來的二進制原始數據
$file = fopen("./upload/".$filename,"w");//打開文件准備寫入
fwrite($file,$raw);//寫入
fclose($file);//關閉
?>
接收的二進制文件中非標准字元(>0x7F)的位元組被替換為三個位元組,比如E2替換為EF 9F A2
現在我想在Php接收到文件之後還原回去,把EF 9F A2替換為E2,請問這個怎麼實現?
非常感謝!
PHP 二進制
------解決方案--------------------
他的數據轉換規則是這樣的:
文件頭不變,文件頭多長不清楚,圖上到0050h都一樣的
<=7F的位元組,因為utf-8也一樣,可以認為也轉換了utf-8
>=80的位元組,高位加上F7,再轉utf-8,例如E2就變成F7E2然後轉utf-8成為EF 9F A2
至少他圖中E2/FB/91/B2/81...都滿足這個規則
------解決方案--------------------
本帖最後由 xuzuning 於 2013-05-02 15:35:02 編輯
用正則可這樣寫
假定數據已把存在變數 $s 中,則
$s = preg_replace_callback('/[\xef]../', 'foo', $s);
function foo($r) {
$c = (ord($r[0]{1}) & 0x03) << 6;
$c += (ord($r[0]{2}) & 0x3f);
return chr($c);
}
⑹ PHP中怎麼以二進制形式表示數字
需要准備的材料分別是:電腦、php編輯器、瀏覽器。
1、首先,打開php編輯器,新建php文件,例如:index.php。
⑺ php圖片以二進制的方式存儲在資料庫的問題
mysql自己有select語句,用這個來操作
比如說你每個圖片主碼設一個auto_increasment的id(自動以1,2,3這樣排序下去的方式存圖片),然後比如說一共有50張圖片,依次讀出for(i=0,i<50,i++){select
圖片
from
資料庫
where(圖片id=
i);}就這樣可以依次根據圖片的id讀下去。