为什么我的PHP图片上传代码可以实现插入数据库但图片不能插入文件夹中?

代码:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtm... 代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>图书</title>
</head>
<body>
<form action="shu.php" enctype="multipart/form-data" method="post" name="shu">
商品描述:<input name="describe" type="varchar" /><br />
商品价格:<input name="price" type="varchar" /><br />
电话:<input name="tele" type="varchar" /><br />
用户:<input name="user" type="varchar" /><br />
上传:<input name="upfile" type="file"><br />
<input type="submit" name="submit" value="上传" />
<input type="reset" name="reset" value="重置" /><br />
<p>
<input type="hidden" name="date" value="<?php echo date("Y-m-d H:i:s") ;?>">
</form>
<?php
if(@is_uploaded_file($_FILES['upfile']['tmp_name']))
{
$upfile=$_FILES["upfile"];
$describe=$_POST['describe'];
$price=$_POST['price'];
$tele=$_POST['tele'];
$user=$_POST['user'];
$date=$_POST['date'];
$name=$upfile["name"];
$type=$upfile["type"];
$size=$upfile["size"];
$tmp_name=$upfile["tmp_name"];
$error=$upfile["error"];
}

if($error=='0')
{
move_uploaded_file($tmp_name,'upload1/'.$name);

$url="upload1"."/"."$name";
include ("conn.php");
mysql_query("set names utf8");
$sql="insert into flea_book(id,book_name,book_describe,book_price,book_tele,book_image,book_user,book_date)
values('','$name','$describe','$price','$tele','$url','$user','$date')";
$result=mysql_query($sql) ;
if($result)
{
echo "<script>alert('指定的文件已上传!');</script>";
echo "<meta http-equiv='refresh' content='1; url=shu.php'>";
}
else
{
echo"<script>alert('文件上传失败!');</script>";
echo "<meta http-equiv='refresh' content='1;url=shu.php'>";

}
}

?>
</body>
</html>
展开
 我来答
yield网络小c
推荐于2016-11-26 · 关注科技创业内容创作
yield网络小c
采纳数:45 获赞数:85

向TA提问 私信TA
展开全部

你可以判断文件是否移动成功:

$url="upload1"."/"."$name";
      if(move_uploaded_file($tmp_name,$url)){
        //...mysql code
      }

是的话才插入数据库。


如果移动不成功则有可能:1、没有所在文件夹的权限;2、找不到upload1目录,这时可以通过is_dir('upload1')判断有无建立目录。

追问
如何查看有没有所在文件夹的权限?
追答
目录权限是针对*unix系统的,试着mkdir($newfile,0777)看是否创建成功就知道了。windows系统暂无此担忧。这是都是php手册上的,你看熟就知道。
lightblessme
2014-03-27 · TA获得超过183个赞
知道小有建树答主
回答量:439
采纳率:0%
帮助的人:270万
展开全部
把你的图片文件夹设置权限为 777 (linux)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tsotsi
2014-03-27 · TA获得超过940个赞
知道小有建树答主
回答量:1367
采纳率:55%
帮助的人:698万
展开全部
首先 你的$name是否含有中文?

另外最好 if(!is_dir('upload1/')){
mkdir('upload1/') or die('创建目录失败');

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuwei408
2014-03-27 · TA获得超过212个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:93.8万
展开全部
是不是不存在那个文件夹?
追问
不是,确实存在的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式