php怎样将二进制流存到文件中

$str  = 0x8000;
  
echo  $str2  base_convert ( $str , 16, 2);
echo  '' ;
echo  base_convert ( $str2 , 2, 16);
[code]
  
字符串 文件等 可以考虑用 pack 和 unpack 转化成二进制
  
[code=PHP]
$file1  'F:/46.gif' ;            //随便拷一个图片作为测试用
$file2  'F:/test.txt' ;          //生成的二进制流保存在这个文件里
$file3  'F:/47.gif' ;            //由二进制流还原成的文件
  
$size  filesize ( $file1 );
  
echo  '文件大小为:' . $size ;
echo  "\n转化为二进制 ..." ;
  
$content  file_get_contents ( $file1 );
$content  = bstr2bin( $content );
  
  
$fp  fopen ( $file2 'w' );
fwrite( $fp $content );
fclose( $fp );
  
$size2  filesize ( $file2 );
  
echo  '转化成二进制后文件大小为:' . $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 ;
}

你可能感兴趣的:(php怎样将二进制流存到文件中)