php与mysql图片添加和显示有问题?

`luntan`----------------------------------------------------------------表的结构`tb_tpsc`... `luntan`
--

-- --------------------------------------------------------

--
-- 表的结构 `tb_tpsc`
--

CREATE TABLE `tb_tpsc` (
`file` blob NOT NULL,
`id` int(11) NOT NULL auto_increment,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=6 ;

<form name="myform" method="post" action="tptj_ok.php" enctype="multipart/form-data">

<tr>
<td align="right" width="28%">上传路径:</td>
<td width="72%"><input name="file" type="file" size="23" maxlength="60" >
</td>
</tr>
<tr align="center">
<td colspan="2"><input name="btn_tj" type="submit" id="btn_tj" value="提交">
 
<input name="btn_cx" type="reset" id="btn_cx" value="重写"></td>
</tr>
</table>
</form>
添加图片
<?php

include("conn/conn.php");

//设置图片的上传时间
$fp=fopen($file,"rb"); //以只读方式打开文件
$file=addslashes(fread($fp,filesize($file))); //将文件中的引号部分加上反斜线
$query="insert into tb_tpsc (tpmc,file,author,scsj) values ('$tpmc','$file','$author','$scsj')"; //创建插入图片数据的sql语句
$result=mysql_query($query);
echo "<meta http-equiv=\"refresh\" content=\"1;url=browse_pic.php\">图片上传成功,请稍等...";

?>
显示图片
<?php include "conn/conn.php"; ?>

$query="select * from tb_tpsc ";
$result=mysql_query($query);
?>

<?php

while($info=mysql_fetch_array($result))
{

?>

<td height="112"colspan="2"><div align="center"><img src="image.php?recid=<?php echo $info[id];?>" width="200" height="100"></div></td>

<?php
}
?>
展开
 我来答
leiyu465
2009-03-16 · TA获得超过202个赞
知道答主
回答量:81
采纳率:0%
帮助的人:79.5万
展开全部
看你的代码不是很完整,不知道其他部分有没有什么错误.

说几个问题你注意检查一下吧

第一,只读模式
$fp=fopen($file,"rb"); 参数应该是r不是rb

第二,图片的大小你没有限制,推荐20K以下的图片,因为如果你数据库使用的是MYSQL那么你当前的图片就只能在64K以下,MYSQL的Blob和其他数据库的不一样,具体你查下看看好像大小只能在64K以内

第三,检查一下PHP配置文件中的设置,看看最大上传文件允许大小是多少,再看一下POST传递最大值是多少,一定要保证POST最大值比允许文件最大的值大.

基本上就这些,不过我还是跟楼上的老兄一样,推荐你把图片用复制的方式放到某个文件夹内不要存入数据库.
6等待戈多6
2009-03-19 · TA获得超过136个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:0
展开全部
rb是以二进制模式读取,这里写的没有问题。
不考虑尺寸问题,这个页面image.php?recid=??输出时,将图片信息读出后,可以直接echo到客户端,但网页的输出头必须明确输出类型,比如:
header("Content-Type: image/jpeg");
否则默认输出为text/html头
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式