php怎样上传图片到 sql server 中 我都用 binary 的保存二进制源文件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 addslashes改成base64_encodeimage字段改成text字段 $filename = "top.gif";$fp = fopen($filename,"rb"); // 注意WIN下要用B属性$picture = fread($fp,filesize($filename));$data = addslashes($picture);//or://$data = base64_encode($picture);$sql = odbc_exec($sd,"update company set sb = '$data' where phone = '$qt_id'"); 那字段是image 还是 text 那和我的这个 $imagefile = "http://localhost/php/pic/logo.gif";$fp = fopen($imagefile,"r");if($fp){$data = addslashes(fread($fp,6000)); //echo $data; } $sql = odbc_exec($sd,"update company set sb = '$data' where phone = '$qt_id'");是不是差不多啊 针对你的代码增加2点:1、若在WIN下fopen要加b属性的,这个手册里有专门说明的。2、addslashes(fread($fp,6000)); 这里有可能文件大于6000呢??? 先用image+addslashes试试,若不行就改成text+base64_encode吧。 $imagefile = "http://localhost/php/pic/logo.gif";$fp = fopen($imagefile,"r");我把图片固定了我在win下是不是要加fopne($filename,"rb")两种方法都不得不行啊你能不能在自已的机器上试一试啊Warning: SQL error: [Microsoft][ODBC SQL Server Driver]COUNT 字段不正确或语法错误, SQL state 07001 in SQLExecDirect in 你确信odbc已经连上了吗? //前面的代码要求://(0)确保top.gif跟这个脚本文件同目录下//(1)确保odbc已经连接上了数据库//(2)确定数据库的字段名字正确//(3)确保$qt_id已经取得了预想的结果$filename = "top.gif";$fp = fopen($filename,"rb");$data = base64_encode(fread($fp,filesize($filename));$sql = odbc_exec($sd,"update company set sb = '$data' where phone = '$qt_id'");...如果这样的话,我想应该没问题了 sb的字段是什么啊 image or text还有一个问题FOPEN是不是一定要绝对路径的啊我用相对路径读出来的文件要减少的啊 我确定,我做过类似的程序,不过不是sqlserver中,实在抱歉!mysql中,字段用longblob,longtext都可以,我确信可以,,我们做的商业软件,运行稳定.. 我确定,我做过类似的程序,不过不是sqlserver中,实在抱歉!mysql中,字段用longblob,longtext都可以,我确信可以,,我们做的商业软件,运行稳定.. 可以用想对路径,但是确保有读文件的权限即可建议你用rb方式打开文件建议用base64_encode编码从数据库取出字段再base64_decode解码即可 mysql我也试过了可以的但sql就是不行,看你这么好交个朋友保持联系有联系方式的吗,msn qq email 那字段是image 还是 text 但我在WIN2000下不能用相对路径读文件要减少 只要确保用rb方式读取文件我想没有问题的我用网易泡泡(popo.163.com)[email protected] 字段类型,我确实拿不定了,我也很想帮你,可是我这里没有sqlserver的环境了安装很罗嗦,我有这么懒,哎。你自己尝试一下吧,应该image方式可以保存吧。或许image有字节限制?呵呵,用个小图片试验一下 我试了好像GIF的可以的不过显示出来的图片文件是-1,这是怎么回事啊 WIN下用rb读取文件就不会出现你所说的文件减少的问题了,如果用base64_encode,那么字段要用text.如果用addslashes,那么字段用image base64_encode和text可以,但显示的图片的属性是-1,而在于addslashes 和 image 还是不行,错误如下Warning: SQL error: [Microsoft][ODBC SQL Server Driver]语法错误或访问冲突, SQL state 37000 in SQLExecDirect in <?php// 本代码已调试成功,如需转载,请注明原作者(PHPTEAM)。// 由于WIN下读取二进制文件必须加"b"属性,否则会出现文件减少的问题。// 若加了"b"属性,还出现文件减少的情况,请修改php.ini的相关配置:// odbc.defaultlrl = 40960000 //默认为4096// 字段为text,采用base64_encode编码$filename = "test.jpg";$fp = fopen($filename,"rb");$picture = fread($fp,filesize($filename));$picture = base64_encode($picture);fclose($fp);// 操作ODBC$conn = odbc_connect("test","test","test");$query = "INSERT INTO test (filename,picture) VALUES ('$filename','$picture')";$result = odbc_exec($conn, $query);$query="select @@IDENTITY as id";$result = odbc_exec($conn, $query);$id = @odbc_result($result, "id");// 这段为读取内容$query = "SELECT picture FROM test WHERE id='$id'";$result = odbc_exec($conn, $query);$picture = odbc_result($result, "picture");$data = base64_decode($picture);header("Content-type: image/jpeg");echo $data;?> 哎,下午我还是装个sql server吧,共同研究一下。 关于PHP防刷新 为什么apache会自动停止运行? substr()取字符串长时含有英文以外的文字,长度会变。 [PHP]php读取通过url得到的json文本中集合为空(在线等,谢谢) php 站内搜索实现机制是什么啊,非文件搜索,数据库搜索的 【xuzuning 】版主求教,有问题啊,各位高手围观。 apache 请求限制如何设置? 哪位大侠可以讲解一下那些可以换风格模板论坛是什么原理,怎样实现的啊? 函数dir() 数据库连接错误的问题 我用session传递对象时,提示有_handle_属性 如何让onclick事件执行php的自定义函数/ 等!
image字段改成text字段
$fp = fopen($filename,"rb"); // 注意WIN下要用B属性
$picture = fread($fp,filesize($filename));
$data = addslashes($picture);
//or:
//$data = base64_encode($picture);
$sql = odbc_exec($sd,"update company set sb = '$data' where phone = '$qt_id'");
$fp = fopen($imagefile,"r");
if($fp){
$data = addslashes(fread($fp,6000));
//echo $data;
}
$sql = odbc_exec($sd,"update company set sb = '$data' where phone = '$qt_id'");是不是差不多啊
2、addslashes(fread($fp,6000)); 这里有可能文件大于6000呢???
$fp = fopen($imagefile,"r");
我把图片固定了我在win下是不是要加fopne($filename,"rb")
两种方法都不得不行啊你能不能在自已的机器上试一试啊Warning: SQL error: [Microsoft][ODBC SQL Server Driver]COUNT 字段不正确或语法错误, SQL state 07001 in SQLExecDirect in
//前面的代码要求:
//(0)确保top.gif跟这个脚本文件同目录下
//(1)确保odbc已经连接上了数据库
//(2)确定数据库的字段名字正确
//(3)确保$qt_id已经取得了预想的结果$filename = "top.gif";
$fp = fopen($filename,"rb");
$data = base64_encode(fread($fp,filesize($filename));
$sql = odbc_exec($sd,"update company set sb = '$data' where phone = '$qt_id'");
...如果这样的话,我想应该没问题了
还有一个问题FOPEN是不是一定要绝对路径的啊我用相对路径读出来的文件要减少的啊
mysql中,字段用longblob,longtext都可以,我确信可以,,
我们做的商业软件,运行稳定..
mysql中,字段用longblob,longtext都可以,我确信可以,,
我们做的商业软件,运行稳定..
建议你用rb方式打开文件
建议用base64_encode编码
从数据库取出字段再base64_decode解码即可
有联系方式的吗,msn qq email
我想没有问题的
我用网易泡泡(popo.163.com)
[email protected]
安装很罗嗦,我有这么懒,哎。你自己尝试一下吧,应该image方式可以保存吧。
或许image有字节限制?呵呵,用个小图片试验一下
如果用base64_encode,那么字段要用text.
如果用addslashes,那么字段用image
Warning: SQL error: [Microsoft][ODBC SQL Server Driver]语法错误或访问冲突, SQL state 37000 in SQLExecDirect in
// 本代码已调试成功,如需转载,请注明原作者(PHPTEAM)。
// 由于WIN下读取二进制文件必须加"b"属性,否则会出现文件减少的问题。
// 若加了"b"属性,还出现文件减少的情况,请修改php.ini的相关配置:
// odbc.defaultlrl = 40960000 //默认为4096
// 字段为text,采用base64_encode编码
$filename = "test.jpg";
$fp = fopen($filename,"rb");
$picture = fread($fp,filesize($filename));
$picture = base64_encode($picture);
fclose($fp);// 操作ODBC
$conn = odbc_connect("test","test","test");
$query = "INSERT INTO test (filename,picture) VALUES ('$filename','$picture')";
$result = odbc_exec($conn, $query);
$query="select @@IDENTITY as id";
$result = odbc_exec($conn, $query);
$id = @odbc_result($result, "id");
// 这段为读取内容
$query = "SELECT picture FROM test WHERE id='$id'";
$result = odbc_exec($conn, $query);
$picture = odbc_result($result, "picture");
$data = base64_decode($picture);header("Content-type: image/jpeg");
echo $data;
?>