php存储图片(路径)到MYSQL和从MYSQL中调用并显示图片的问题
存储部分<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><?phpinclude("co...
存储部分
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
include("conn.php");
$number=$_POST['number'];
$itemname=$_POST['itemname'];
$price=$_POST['price'];
$meas=$_POST['meas'];
$picture=$_POST['picture'];
$packing=$_POST['packing'];
$material=$_POST['material'];
$addtime=$_POST['addtime'];
$name=$_FILES['picture']['name'];
$picture=$_FILES['picture']['tmp_name'];
$fp=fopen($picture,'r');
$data=addslashes(fread($fp,filesize($picture)));
$sql="insert into product(number,meas,itemname,addtime,picture,packing,price,material)values
('$number','meas','$itemname','$addtime','$picture','$packing','$price','$material')";
mysql_query($sql,$conn) or die("插入数据失败:".mysql_error());
mysql_close($conn);
if($_FILES['picture']['error']>0){
echo "上传出错"; }
else {
echo "上传成功";
}//From J.L
print_r($_POST);exit;
?>
显示部分
<?php
$sql=mysql_query("select * from product where price!=0 order by addtime desc limit 12,100");
//按price的值调用
$info=mysql_fetch_array($sql);
if(empty($info)){
echo "No product";
}
else{
?>
<tr>
<td width="200" rowspan="6">
<?php
if( empty($info['picture'])){
echo"No Pictures";
}
else{
?>
<img src="<?php echo $info['picture'];?>" width="158" height="160" border="0">
<?php
。。。。。。
为什么显示不出图片?
数据表里图片存储路径 如 :D:xampp mpphpB931.tmp 展开
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
include("conn.php");
$number=$_POST['number'];
$itemname=$_POST['itemname'];
$price=$_POST['price'];
$meas=$_POST['meas'];
$picture=$_POST['picture'];
$packing=$_POST['packing'];
$material=$_POST['material'];
$addtime=$_POST['addtime'];
$name=$_FILES['picture']['name'];
$picture=$_FILES['picture']['tmp_name'];
$fp=fopen($picture,'r');
$data=addslashes(fread($fp,filesize($picture)));
$sql="insert into product(number,meas,itemname,addtime,picture,packing,price,material)values
('$number','meas','$itemname','$addtime','$picture','$packing','$price','$material')";
mysql_query($sql,$conn) or die("插入数据失败:".mysql_error());
mysql_close($conn);
if($_FILES['picture']['error']>0){
echo "上传出错"; }
else {
echo "上传成功";
}//From J.L
print_r($_POST);exit;
?>
显示部分
<?php
$sql=mysql_query("select * from product where price!=0 order by addtime desc limit 12,100");
//按price的值调用
$info=mysql_fetch_array($sql);
if(empty($info)){
echo "No product";
}
else{
?>
<tr>
<td width="200" rowspan="6">
<?php
if( empty($info['picture'])){
echo"No Pictures";
}
else{
?>
<img src="<?php echo $info['picture'];?>" width="158" height="160" border="0">
<?php
。。。。。。
为什么显示不出图片?
数据表里图片存储路径 如 :D:xampp mpphpB931.tmp 展开
3个回答
展开全部
因为。。。。。。。。。。。。。。。
你少写了一步,move_uploaded_file() 你没有移动保存你上传的文件
form表单上传的图片只会出现在服务器设置 的temp文件夹里,而且
说明了是临时文件,肯定是不会长留的,动作完后图片一般都是被删除的。
再者:你怎么觉得.tmp的文件会是你上传的图片呢?你的电脑常识跑那去了?.tmp怎么会是图片的格式?
你少写了一步,move_uploaded_file() 你没有移动保存你上传的文件
form表单上传的图片只会出现在服务器设置 的temp文件夹里,而且
说明了是临时文件,肯定是不会长留的,动作完后图片一般都是被删除的。
再者:你怎么觉得.tmp的文件会是你上传的图片呢?你的电脑常识跑那去了?.tmp怎么会是图片的格式?
追问
这样写对吗?谢谢
$exname=strtolower(substr($_FILES['upfile']['name'],(strrpos($_FILES['upfile']['name'],'.')+1)));
$uploadfile = getname($exname);
move_uploaded_file($_FILES['upfile']['tmp_name'],$uploadfile);
展开全部
你用的是绝对路径,绝对路径不能显示图片的,把他换成相对路径,用的时候正则表达式匹配替换就行
追问
是上传的时候 用相对路径吗? 能举个例子吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把上传到服务器的图片地址存到数据库,post只是提交表单的数据而已
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |