当前位置:编程学习 > php >>

PHP怎样上传图片,为什么用管理员后台登录上传图片在页面可以显示,但是在上传的文件目录里就不能显示.

代码为 ,有改过【image】【type】==image/PJGEP,一改 就没法上传图片了 请高手讲解·· <?php require ("config.php"); require("header.php"); require("db.php"); require("error.php"); if($_POST['submit']) { $error = array(); if(empty($_POST['cat_id'])){ $error_msg[] = "商品分类必须选择。"; } if(empty($_POST['name'])){ $error_msg[] = "商品名称必须填写。"; } if(empty($_POST['price'])){ $error_msg[] = "商品单价必须填写。"; }elseif(!is_numeric($_POST['price'])){ $error_msg[] = "商品单价必须为数字。"; } if($_FILES['image']['size']>0 && $_FILES['image']['name']) { if(!($_FILES['image']['type']=='image/gif' || $_FILES['image']['type']=='image/pjpeg')) { $error_msg[] = "商品图片只能为GIF或者JPG格式。"; }else{ list($tmp,$file_ext) = explode("/",$_FILES['image']['type']); $image =mt_rand()."_".time().".".$file_ext; if(!move_uploaded_file($_FILES['image']['tmp_name'], UPLOAD_PATH.$image)) { $error_msg[] = "商品图片保存失败。"; } } } if(empty($_POST['description'])) { $error_msg[] = "商品详细信息必须填写。"; } $has_error = isset($error_msg[0]); if(!$has_error) { $sql = "INSERT INTO products(cat_id,name,description,price,image, post_datetime) VALUES('".$_POST['cat_id']."', '".$_POST['name']."', '".$_POST['description']."', '".$_POST['price']."', '$image', NOW())"; $result = mysql_query($sql); if(mysql_affected_rows($db)) { ExitMessage("商品内容添加成功!", "product.php?cat_id={$_POST[cat_id]}"); }else{ ExitMessage("商品内容添加失败!"); } } } if($has_error) { showErrorBox($error_msg); } if(!isset($_POST['cat_id'])) { $_POST['cat_id'] = $_GET['cat_id']; } ?>
补充:一上传图片,数据库里的图片后缀名也是PJGEP格式的,但是在网页上可以显示图片,在代码里面改掉PJGEP 图片就无法显示,,,···
追问:但是上传 图片的格式还是PJPEG格式的··  在数据库中图片的后缀名依然是PJPEG格式·
就算是把这句IF语句删除, 上传的图片还是这个格式的,但是除了这段代码有定义图片格式,就没有定义过图片的格式了··
答案:你的代码在这个地方对图片类型进行了判断,如果不是gif或pjgep格式的文件的就不显示了。
		if(!($_FILES['image']['type']=='image/gif' || $_FILES['image']['type']=='image/pjpeg'))
		{
			$error_msg[] = "商品图片只能为GIF或者JPG格式。";
		}
如果你在代码中去掉pjgep的话所有pjgep格式的文件都不能显示,如果你要加如其他格式的话可以在后面接着加入相关的图片格式就可以了,例如:要加入png格式的图片代码如下:

if(!($_FILES['image']['type']=='image/gif' || 
       $_FILES['image']['type']=='image/pjpeg' ||
      $_FILES['image']['type']=='image/png'  
))
其他:希望高手们帮我想下一下 拜托 新闻表加个字段,保存图片路径,上传图片的时候把路径写进字段,读取新闻同时把路径写进src=* 【image】【type】==image/PJGEP,    PJGEP  这个是定义图片格式  有这种图片格式的吗? UPLOAD_PATH,你的代码没有问题,你看一下路径有没有出错 

上一个:php 读取文件怎么优化 [PHP 基础编程]
下一个:PHP中如何用自定义函数计算两个时间相隔的天数,月数等

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,