php修改图片名的问题

用的这个图片上传,本地localhost测试图片可以显示,可是发布到网上去就不限时图片,在数据库里面没写入图片的格式,只有图片的名字========贴代码========... 用的这个图片上传,本地localhost测试图片可以显示,可是发布到网上去就不限时图片,在数据库里面没写入图片的格式,只有图片的名字
========贴代码=======
=======贴代码========

if (is_uploaded_file($_FILES['upfile']['tmp_name'])){
$upfile=$_FILES["upfile"];
$rand=rand(0,9999);
$fi=$rand.$type;
$type = $upfile["type"];
$size = $upfile["size"];
$tmp_name = $upfile["tmp_name"];
$error = $upfile["error"];
switch ($type) {
case 'image/pjpeg' : $ok=1;
break;
case 'image/jpeg' : $ok=1;
break;
case 'image/gif' : $ok=1;
break;
case 'image/png' : $ok=1;
break;
}
if($ok && $error=='0'){
move_uploaded_file($tmp_name,'../up/'.$fi);
echo "上传成功";
}
else{
echo "False";
}
展开
 我来答 举报
ykrl089
推荐于2016-06-16
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
语句的位置调整下,然后写法稍微改下就好了
if (is_uploaded_file($_FILES['upfile']['tmp_name'])){
$upfile=$_FILES["upfile"];
$rand=rand(0,9999);
$type = $upfile["type"];

$fi=$rand.'.'.$type;//这样估计就可以了

$size = $upfile["size"];
$tmp_name = $upfile["tmp_name"];
$error = $upfile["error"];
switch ($type) {
case 'image/pjpeg' : $ok=1;
break;
case 'image/jpeg' : $ok=1;
break;
case 'image/gif' : $ok=1;
break;
case 'image/png' : $ok=1;
break;
}
if($ok && $error=='0'){
move_uploaded_file($tmp_name,'../up/'.$fi);
echo "上传成功";
}
else{
echo "False";
}
我是php工程师
2012-12-14
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
你的sql语句来
也可能是你的路径问题!!

if(isset($_POST['sub']))
{
$oldName=$_FILES['upfile']['name']; //获得就的文件名
$tmp=strrchr($oldName,'.'); //获得后缀
$newName=time().$tmp; //时间戳家后缀成新名
$path="../../upload/".$newName; //指定路经过
if(is_uploaded_file($_FILES['upfile']['tmp_name']))//检验是否通过正确路径上传文件
{
if(move_uploaded_file($_FILES['upfile']['tmp_name'],$path))//在临时文件夹中转移文件到指定路径
{
$pname =$_POST['pname'];
$mold =$_POST['mold'];
$pub_man=$_POST['pub_man'];
$intro=$_POST['text'];
$pub_time=date('Y-m-d h:i:s');
$type =$_POST['slt'];
$sql="
insert into `tb_product`(`pname`,`picture`,`mold`,`intro`,`pub_time`,`pub_man`,`tid`) values('".$pname."','".$newName."','".$mold."','".$intro."','".$pub_time."','".$pub_man."','".$type."')";
$query=mysql_query($sql,$con);
if($query>0)
{
echo
"<script>
alert('成功添加了条数据!!');location='productManager.php';
</script>";
}
else
{
echo '添加失败!!';
}
}
}
}
追问
insert into message(name,title,content,now,pic) values ('$name','$title','$content','$now','$fi')

这是SQL语句,你看看...就是无法添加上拓展名,有什么办法
追答
你是用这个来获得完整那个路径的?

$rand=rand(0,9999);
$fi=$rand.$type;//随机加类型
$type = $upfile["type"];//-------》你这个类型 是图片类型 不是图片后缀吧!

你看我的:
$oldName=$_FILES['upfile']['name']; //获得就的文件名

$tmp=strrchr($oldName,'.'); //获得后缀 截取文件明中 点之后的东西 -->很笨的获得了文件后缀
$newName=time().$tmp; //时间戳加后缀成新名

呵呵
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式