各位大虾帮忙看一下。我试了N次上传,格式都显示出来了。也显示出来了上传成功,就是不能上传在文件夹中!
代码如下我要上传到指定的文件夹,就是upload中。! pic是文件域名称 phpbbs是我建立的站点!是同级目录upload
<?php
//将上传函数封装成函数
function phpbbs($pic,$path="../upload/")
//$file 文件名 $PATH网站存放图片目录相对路径
{
//获取图片扩展名
//strrchr获取.的字符串最后出现位置的数组
//用substr获取该数组第二个元素
$fileExt=substr(strrchr($_FILES[$file]["name"],"."),1);
//定义系统允许扩展的类型
$fileType=array("image/gif","image/pjpeg","image/bmp");
//判断上传的文件是否符合指定的类型
if(!in_array($_FILES[$file]["type"],$fileType))
{
echo "对不起,系统不支持该格式的文件上传";
}
//判断元素上传有无异常
if($_FILES[$file]["error"]!=0)
{
echo "上传异常";
}
//获取目标路径
$targetDir=$path;
//获取新的文件名
$targerName=date("Ymd").time().".".$fileExt;
$realFile=$targetDir.$targerName;
echo $realFile;
die();
//开始上传
//判断是否存在该函数 move_uploaded_file
if(function_exists("move_uploaded_file"))
{
move_uploaded_file($_FILES[$file]["tmp_name"],$realFile);
}
echo"上传成功";
}
if($_POST["Submit"]!="")
{
upload("pic");
}
?>
代码如下我要上传到指定的文件夹,就是upload中。! pic是文件域名称 phpbbs是我建立的站点!是同级目录upload
<?php
//将上传函数封装成函数
function phpbbs($pic,$path="../upload/")
//$file 文件名 $PATH网站存放图片目录相对路径
{
//获取图片扩展名
//strrchr获取.的字符串最后出现位置的数组
//用substr获取该数组第二个元素
$fileExt=substr(strrchr($_FILES[$file]["name"],"."),1);
//定义系统允许扩展的类型
$fileType=array("image/gif","image/pjpeg","image/bmp");
//判断上传的文件是否符合指定的类型
if(!in_array($_FILES[$file]["type"],$fileType))
{
echo "对不起,系统不支持该格式的文件上传";
}
//判断元素上传有无异常
if($_FILES[$file]["error"]!=0)
{
echo "上传异常";
}
//获取目标路径
$targetDir=$path;
//获取新的文件名
$targerName=date("Ymd").time().".".$fileExt;
$realFile=$targetDir.$targerName;
echo $realFile;
die();
//开始上传
//判断是否存在该函数 move_uploaded_file
if(function_exists("move_uploaded_file"))
{
move_uploaded_file($_FILES[$file]["tmp_name"],$realFile);
}
echo"上传成功";
}
if($_POST["Submit"]!="")
{
upload("pic");
}
?>
另外你的几个异常只是echo,怎么没有退出?
//将上传函数封装成函数
function phpbbs($pic,$path="../upload/")
//$file 文件名 $PATH网站存放图片目录相对路径
{
//获取图片扩展名
//strrchr获取.的字符串最后出现位置的数组
//用substr获取该数组第二个元素
$fileExt=substr(strrchr($_FILES[$file]["name"],"."),1);
//定义系统允许扩展的类型
$fileType=array("image/gif","image/pjpeg","image/bmp");
//判断上传的文件是否符合指定的类型
if(!in_array($_FILES[$file]["type"],$fileType))
{
echo "对不起,系统不支持该格式的文件上传";
exit();
}
//判断元素上传有无异常
if($_FILES[$file]["error"]!=0)
{
echo "上传异常";
exit();
}
//获取目标路径
$targetDir=$path;
//获取新的文件名
$targerName=date("Ymd").time().".".$fileExt;
$realFile=$targetDir.$targerName; //开始上传
//判断是否存在该函数 move_uploaded_file
if(function_exists("move_uploaded_file"))
{
if(move_uploaded_file($_FILES[$file]["tmp_name"],$realFile))
{
echo"上传成功";
}
else{
echo "上传失败";
}
}
}
if($_POST["Submit"]!="")
{
//upload("pic");
phpbbs("pic");
}
?>
<?php
//将上传函数封装成函数 //upload是你建立的网站名
function upload($file,$path="../upload/")
//$file 文件名 $PATH网站存放图片目录相对路径
{
//获取图片扩展名
//strrchr获取.的字符串最后出现位置的数组
//用substr获取该数组第二个元素
$fileExt=substr(strrchr($_FILES[$file]["name"],"."),1);
//定义系统允许扩展的类型
$fileType=array("image/gif","image/pjpeg","image/bmp");
//判断上传的文件是否符合指定的类型
if(!in_array($_FILES[$file]["type"],$fileType))
{
echo "对不起,系统不支持该格式的文件上传";
}
//判断元素上传有无异常
if($_FILES[$file]["error"]!=0)
{
echo "上传异常";
}
//获取目标路径
$targetDir=$path;
//获取新的文件名
$targerName=date("Ymd").time().".".$fileExt;
$realFile=$targetDir.$targerName;
echo $realFile;
die();
//开始上传
//判断是否存在该函数 move_uploaded_file
if(function_exists("move_uploaded_file"))
{
move_uploaded_file($_FILES[$file]["tmp_name"],$realFile);
}
echo"上传成功";
}
if($_POST["Submit"]!="")
{
upload("file");
}
?> 这个是原来的代码。但是修改之后不行啊,另外这个上传时可以。但还是上传不到文件夹
把你改完的文件列出来,你写的程序半路加个die(),不就退出了吗?
chmod -R 777 {你的上传目录}
echo $realFile;
die(); //<---------------你这是干嘛?
//开始上传
//将上传函数封装成函数 //inserCate是我主机建立的网站名
function inserCate($pic,$path="../upload/") //pic是文件域的署名
//$file 文件名 $PATH网站存放图片目录相对路径
{
//获取图片扩展名
//strrchr获取.的字符串最后出现位置的数组
//用substr获取该数组第二个元素
$fileExt=substr(strrchr($_FILES[$pic]["name"],"."),1);
//定义系统允许扩展的类型
$fileType=array("image/gif","image/pjpeg","image/bmp");
//判断上传的文件是否符合指定的类型
if(!in_array($_FILES[$pic]["type"],$fileType))
{
echo "对不起,系统不支持该格式的文件上传";
}
//判断元素上传有无异常
if($_FILES[$pic]["error"]!=0)
{
echo "上传异常";
}
//获取目标路径
$targetDir=$path;
//获取新的文件名
$targerName=date("Ymd").time().".".$fileExt;
$realFile=$targetDir.$targerName;
echo $realFile;
//开始上传
//判断是否存在该函数 move_uploaded_file
if(function_exists("move_uploaded_file"))
{
move_uploaded_file($_FILES[$file]["tmp_name"],$realFile);
}
echo"上传成功";
}
if($_POST["Submit"]!="")
{
inserCate("file");
}
?>
这个是我改的,上传成功了。但是图片进不去,upload权限是只读,上传的名字什么都可以可以数据库也就是localhost/phpmyadmin
//将上传函数封装成函数 //upload是你建立的网站名
function upload($file,$path="../upload/")
//$file 文件名 $PATH网站存放图片目录相对路径
{
//获取图片扩展名
//strrchr获取.的字符串最后出现位置的数组
//用substr获取该数组第二个元素
$fileExt=substr(strrchr($_FILES[$file]["name"],"."),1);
//定义系统允许扩展的类型
$fileType=array("image/gif","image/pjpeg","image/bmp");
//判断上传的文件是否符合指定的类型
if(!in_array($_FILES[$file]["type"],$fileType))
{
echo "对不起,系统不支持该格式的文件上传";
}
//判断元素上传有无异常
if($_FILES[$file]["error"]!=0)
{
echo "上传异常";
}
//获取目标路径
$targetDir=$path;
//获取新的文件名
$targerName=date("Ymd").time().".".$fileExt;
$realFile=$targetDir.$targerName;
echo $realFile;
die();
//开始上传
//判断是否存在该函数 move_uploaded_file
if(function_exists("move_uploaded_file"))
{
move_uploaded_file($_FILES[$file]["tmp_name"],$realFile);
}
echo"上传成功";
}
if($_POST["Submit"]!="")
{
upload("file");
}
?>
<!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=gb2312" />
<title>无标题文档</title>
</head><body>
<label></label>
<label></label>
<form action="upload.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<label>
<input type="file" name="file" />
</label>
<input type="submit" name="Submit" value="上传" />
</form>
</body>
</html> 看这个吧。这个是整张页面的
<?php
//将上传函数封装成函数 //upload是你建立的网站名
function inserCate($pic,$path="../upload/")
//$file 文件名 $PATH网站存放图片目录相对路径
{
//获取图片扩展名
//strrchr获取.的字符串最后出现位置的数组
//用substr获取该数组第二个元素
$fileExt=substr(strrchr($_FILES[$pic]["name"],"."),1);
//定义系统允许扩展的类型
$fileType=array("image/gif","image/pjpeg","image/bmp");
//判断上传的文件是否符合指定的类型
if(!in_array($_FILES[$pic]["type"],$fileType))
{
echo "对不起,系统不支持该格式的文件上传";
}
//判断元素上传有无异常
if($_FILES[$pic]["error"]!=0)
{
echo "上传异常";
}
//获取目标路径
$targetDir=$path;
//获取新的文件名
$targerName=date("Ymd").time().".".$fileExt;
$realFile=$targetDir.$targerName;
echo $realFile;
//开始上传
//判断是否存在该函数 move_uploaded_file
if(function_exists("move_uploaded_file"))
{
move_uploaded_file($_FILES[$file]["tmp_name"],$realFile);
}
echo"上传成功";
}
if($_POST["Submit"]!="")
{
inserCate("file");
}
?>
<!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=gb2312" />
<title>版块添加</title>
<link href="../css/top.css" rel="stylesheet" type="text/css" />
</head><body>
<form action="inserDeal.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="550" border="1" align="center" cellpadding="1" cellspacing="0">
<tr>
<td height="39" colspan="2" align="center" class="black">版块添加页面</td>
</tr>
<tr>
<td width="30%" height="25" class="black1">版块图片</td>
<td width="70%" height="25" class="black1"><label>
<input name="pic" type="file" id="pic" />
</label></td>
</tr>
<tr>
<td width="30%" height="25" class="black1">版块名</td>
<td width="70%" height="25" class="black1"><label>
<input name="category" type="text" id="category" />
</label></td>
</tr>
<tr>
<td height="25" class="black1"> </td>
<td height="25" class="black1"><input type="submit" name="Submit" value="添加版块" />
<label>
<input type="submit" name="Submit2" value="重新填写" />
</label></td>
</tr>
</table>
</form>
</body>
</html>
这个程序漏洞太多,可能还没写完.
比如
if(!in_array($_FILES[$pic]["type"],$fileType))
$pic从哪里来的啊?应该是 if(!in_array($_FILES["pic"]["type"],$fileType)) 吧.$fileExt从哪里来的?最重要的是
move_uploaded_file($_FILES[$file]["tmp_name"],$realFile);
$file是什么?
改成
move_uploaded_file($_FILES["pic"]["tmp_name"],$realFile);
就应该行了.