新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
分析下你的代码:
在市中等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、成都网站建设 网站设计制作按需网站策划,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站建设,成都外贸网站制作,市中网站建设费用合理。
?php
$hpic="../upload/".$_FILES["file"]["name"]; // 这里定义了上传文件的保存目录吗,好像是。
mysql_select_db($database_conn,$conn); // 这里执行了选择数据库操作,可是 $conn 哪里来的呢,你确定你执行了连接数据库操作吗?这个 $conn 确定是有效的连接句柄吗?问题可能就处在这。
mysql_query("INSERT INTO hdp(hmc,hpic,hurl) VALUES ('$_POST[hmc]','$hpic','$_POST[hurl]')"); // 这里是正常的数据库插入语句,看上去没有语法错误。
mysql_close($conn); // 这里关闭数据库连接,但PHP其实都不用手动关闭mysql连接的,手动关闭反而容易出错。
header("Location:"."hdp.php"); // 这句执行了重定向跳转,和问题不相关。
?
你上传文件后,可以使用 $_FILES 这个超级变量获取到文件的信息,比如 $_FILES[‘image']['tmp_name'] 就能获取到对应的上传文件的临时目录以及文件名。
一般上传后你都会执行,move_uploaded_file() 操作,这样新的文件名和路径你就知道了,这时候再把文件路径update或者insert到对应的字段即可。
一般插入数据库的不是图片,而是保存图片的路径。设置varchar类型。和插入其他字段一样。用sql语句中的insert语句。
insert into 数据表名(字段名) values(要插入的);
显示图片 代码如下:
img src="?php echo "数据库中保存图片路径的值"?" alt="picture"/
把他们放在一起就行
form action="shangchuan.php" name="form" enctype="multipart/form-data" method="post"
input type="file" name="pic1" size=27 /
input type="text" name="pic2" size=27 /
input type="submit" name="submit" value="上传"//td
/form
?php
if($_POST[submit]){
//定义要上传的图片格式
$uptypes=array(
'image/jpg',
'image/jpeg',
'image/pjpeg',
'image/gif',
'image/bmp'
);
//判断是否存在图片1
if($_FILES["pic1"][tmp_name]){
$tmp_name=$_FILES["pic1"][tmp_name];
$name=$_FILES["pic1"][name];
$type=$_FILES["pic1"][type];
$size=$_FILES["pic1"][size];
$error=$_FILES["pic1"][error];
$pic_url=$name; //上传文件路径和名字
//是否存在临时文件
if (!is_uploaded_file($tmp_name)){
echo "上传失败,图片未能成功上传!";
}
else if(!in_array($type, $uptypes)){
echo "上传失败,图片格式不符";
}
else if(!move_uploaded_file ($tmp_name,"../pic/".$pic_url)){//第二个参数是要保存的路径和文件名
echo "上传失败,图片未能成功保存!";
}
else{
$result=mysql_query("INSERT INTO `news`.`p_fz` (`id` ,`image`) values ('','".$pic_url."')");
if($result)
echo "上传成功!";
else
echo "上传失败!";
}
}
else if($_POST[pic2]){
$result=mysql_query("INSERT INTO `news`.`p_fz` (`id` ,`image`) values ('','".$_POST[pic2]."')");
if($result)
echo "上传成功!";
else
echo "上传失败!";
}
}
?
给你写了个 我也没测试 你参考一下 ,默认的是上传第一个
原理都一样,循环接参,你打印一下它的参数就够就明白了,存储数据库,可以将图片路径之间用|或者逗号,或者json 系列化来存储:
?php
print_r($_FILES);//你可以打印一下它,看看它的结构
if(!empty($_FILES)){
foreach($_FILES['file']['name'] as $k=$v){
//$_FILES["file"]都变成$_FILES["file"][$k]操作进行操作吧
if ($_FILES['file'][$k]['error'] == 0) {
$filetype = array("jpg","JPG");
$arr = explode(".", $_FILES["file"][$k]["name"]);
...//同样的代码
}
}
}
?
form name="" action="" method="post" enctype="multipart/form-data"
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="submit" name="a" value="提交" /
/form
1.图片转换 将上传的图片读取到一个字符串中,再用base64对数据进行编码 $img =base64_encode(file_get_contents($_FILES['file_head']['tmp...
2.显示图片 imgsrc="{$base64String}" 这样就能把图片显示出来了