c++需要实现php端的:
bin2Hex
函数,PHP通过这种类型的字符串调用:
pack
转换成PHP能识别的2进制数据。
ETsale3.0是采用php+mysql+smarty+jquery开发的一个很小很小的管理程序,适用于中小企业对产品销售后的报表管理以及客户资料和联通记录管理。由于采用smarty做模板,所以更方便修改外观以适用于自己的公司。程序加入简单的srm管理系统安装方法:1、以二进制上传所有文件到服务器目录2、修改cache,templates_c,目录为可写(0777)3、把include\conf
立即学习“PHP免费学习笔记(深入)”;
C++需要做的是实现一个bin2hex,其实只是把c++读取的2进制数据当成byte数组,把每一位转换成16进制字符串就可以了。Qt中使用sprintf无法限制2位长度,因此sprintf之后判断长度为8则截取最后3个字符串,包含了/0终止符
QString Bin2Hex(char* data1,int len)
{
QString s ;
QString r ;
for (intx=0;x<len;x++)
{
s.sprintf("%02x\0",data1[x]);
if(s.length()>2)
{
s=s.mid(6,8);
}
r.append(s);
}
return r;
}
QVariant QmlClass::readimg(QString file)
{
QFile mfile(file);
if(!mfile.open(QIODevice::ReadOnly) )
{
qDebug()<<"文件不存在";
return"";
}
qDebug()<<"文件存在";
QByteArray ar = mfile.readAll();
char * adr =ar.data();
QString m= Bin2Hex(adr,ar.size());
returnm;
}functionuploadimg()
{var x = new XMLHttpRequest();
x.onreadystatechange =function()
{if(x.readyState == 4) {
if(x.status == 200) {
console.log("The server replied with: " + x.responseText);
txt.text = x.responseText;
}
}
};
var xxx =newObject;
var d=myapp.readimg(":/1.jpg");
console.log(typeof d)
x.open("POST","http://localhost/mycode/Test/reg.php",true);
console.log(d)
//post请求要自己设置请求头
x.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
x.send(d);
}<?php$filename="teststream.jpg";//要生成的图片名字 $data_buff=file_get_contents("php://input");
echo$data_buff;
$jpg = pack("H*",$data_buff);//得到post过来的二进制原始数据 $file = fopen("pic/".$filename,"wb");//打开文件准备写入
fwrite($file,$jpg);//写入
fclose($file);//关闭?>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介绍了 PHP入门5 C++和PHP二进制传输,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。










