求一个简单点的php上传的类文件,最好详细点 需要用到类吗?????<?phpvar_dump($_FILES);?> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.baidu.com/s?wd=php%C9%CF%B4%AB%C0%E0&lm=0&si=&rn=10&ie=gb2312&ct=0&cl=3&f=12 原地址:http://blog.csdn.net/familyX/archive/2008/01/04/2025765.aspx只支持图片:class uploadPic { private $imgtype; private $mimetype; private $path; private $error; public $picname; public $picwidth; public $picheight; //返回函数 function goback($str) { echo "<script>alert('".$str."');history.go(-1);</script>"; exit(); } function check($file)//检查文件类型 { if($_FILES[$file]["name"] == "") $this->goback("没有文件要上传"); $types = array("image/gif","image/jpeg","image/pjpeg","image/png"); if(!in_array($_FILES[$file]["type"],$types)) $this->goback("请用jpg/gif/png格式的图片"); if($_FILES[$file]["size"] > 300000) $this->goback('对不起,图片大小不能超过300k,请用photoshop压缩或换一幅小的图片!'); $this->mimetype = $_FILES[$file]["type"]; $size = getimagesize($_FILES[$file]['tmp_name']); $this->picwidth = $size[0]; $this->height = $size[1]; $this->path = $_FILES[$file]["tmp_name"]; $this->error = $_FILES[$file]["error"]; $this->getType(); } function getType()//返回文件扩展名 { switch($this->mimetype) { case "image/gif": $this->imgtype = ".gif"; break; case "image/jpeg": $this->imgtype = ".jpg"; break; case "image/pjpeg": $this->imgtype = ".jpg"; break; case "image/png": $this->imgtype = ".png"; break; } } function getError() { switch($this->error) { case 0: break; case 1: $this->goback("文件大小超过限制,请缩小后再上传"); break; case 2: $this->goback("文件大小超过限制,请缩小后再上传"); break; case 3: $this->goback("文件上传过程中出错,请稍后再上传"); break; case 4: $this->goback("文件上传失败,请重新上传"); break; } } function upfile($path,$file) { $this->check($file); //$this->goback($this->mimetype); $this->picname = date('YmdHis').rand(0,9); $this->getError(); move_uploaded_file($this->path,$path.$this->picname.$this->imgtype); $this->picname = $this->picname.$this->imgtype; } } $pic = new uploadPic; $pic->upfile("uploadpics/","compic");//第一个参数是要保存在服务器上的路径,第二个参数是上传控件的名字 $compicname = $pic->picname;//上传后的图片名字, 图片上传,数据添加功能upload_url---->存放上传文件的网络地址upload_dir---->存放上传文件目录一些关于其他功能的信息可以不用看,你主要看上传功能代码就行了**************************************************************/ $MAX_SIZE="500000"; //限制上传文件大小 $FILE_MIMES=array('image/jpeg','image/jpg','image/gif','image/png','image/pjpeg','applicatio/msword'); $FILE_POSTFIX=array('.zip','.jpg','.gif','bmp'); $site_name=$_SERVER['HTTP_HOST']; $site_url="http://".$site_name.dirname($_SERVER['PHP_SELF']); $site_this="http://".$site_name.$_SERVER['PHP_SELF']; $visibility=true; //如果是完全可见,可选区用true,否则是false. if ($visibility) { $upload_dir = "images/upload/public/"; //文件上传至public文件夹(完全可见区) } else { $upload_dir = "images/upload/private/"; //文件上传到private文件夹(指定用户可见区) } $upload_url = $site_url."/".$upload_dir; if (!is_dir($upload_dir)) { if (!mkdir($upload_dir)) die('文件没有创建成功!'); } if ($_FILES['GoodsPhoto']) { if ($_FILES['GoodsPhoto']['size']==0) { echo "<script language='JavaScript'>location.href='shop.php';alert('必须输入项不能为空!');</script>"; } $file_name=$_FILES['GoodsPhoto']['name']; //提取当前上传文件名 $file_type=$_FILES['GoodsPhoto']['type']; //提取当前上传文件类型 $file_postfix=substr($file_name,strrpos($file_name,".")); //提取当前上传文件扩展名 if ($_FILES['GoodsPhoto']['size'] >=$MAX_SIZE) { echo "<script language='JavaScript'>location.href='shop.php';alert('图片太大了,换个小点的吧!');</script>"; } elseif (!in_array($file_type,$FILE_MIMES) && ! in_array($file_postfix,$FILE_POSTFIX)) { echo "<script language='JavaScript'>location.href='shop.php';alert('上传文件不符合规定,请重新选择上传文件!');</script>"; } else { else { do_upload($upload_dir,$upload_url); } } } function do_upload($upload_dir,$upload_url) { $temp_name=trim($_FILES['GoodsPhoto']['tmp_name']); $file_name=$_FILES['GoodsPhoto']['name']; $file_name=str_replace("\\","",$file_name); $file_name=str_replace("","",$file_name); $file_path=$upload_dir.$file_name; if ($file_name='') { echo "文件名无效!"; exit; } if ($result=move_uploaded_file($temp_name,$file_path)) { echo "<script type='text/JavaScript' language='JavaScript'> location.href='shop.php'; alert('您成功的添加了一件新商品!'); </script>"; } else { echo "<script language='JavaScript'>alert('上传失败!');</script>"; exit; } } <?php/*类名:upload功能:实现文件的上传属性:文件名fileName属性:临时文件名tmpName属性:文件名name属性:上传路径path方法:构造函数*/class upload{public $tmpName;public $name;public $path;public function uploaded(){ //得到文件的后缀名 $arr=explode(".",$this->name);//的到数组的长度 $num=count($arr);//得到最大下标 $exp=$arr[$num-1];//判断上传文件的类型 $name = $_FILES['file']['name']; if (preg_match('/\\.(xls|RAR|PJB)$/i', $name)) { echo ''; } else { echo '文件类型不符合要求不能上传!'; exit;}//根据时间来命名 $time=date("YmdHis",time()+8*3600); $names=$time.".".$exp; $newPath=$this->path.$time.".".$exp;//判断是不是用POST传过来的值if(is_uploaded_file($this->tmpName)){//判断是否上传到指定文件夹 if(move_uploaded_file($this->tmpName,$newPath)){//返回文件名 return $names; } else {echo "";} }else {echo "";}}}?>不知道对你有没有用````` up up 接分 接分接分 <html><link href="admin_style.css" rel="stylesheet" type="text/css"><?php require_once "check_login.php";//这里上传 $upsize判断上传文件的大小$uppath=isset($_REQUEST["upPath"])?$_REQUEST["upPath"]:"/uploadfile/"; //文件上传路径$formName=isset($_REQUEST["formName"])?$_REQUEST["formName"]:"form"; //回传到上页面编辑框所在Form的Name$editName=isset($_REQUEST["editName"])?$_REQUEST["editName"]:"pic"; //回传到上页面编辑框的Name$ctime=date('Ym');//转换根目录的路径if(strpos($uppath,"/")==0) { $i=0; $thpath=$_SERVER["SCRIPT_NAME"]; $thpath=substr($thpath,1,strlen($thpath)); while(strripos($thpath,"/")!==false){ $thpath=substr($thpath,strpos($thpath,"/")+1,strlen($thpath)); $i=++$i; }$pp=""; for($j=0;$j<$i;++$j){ $pp .="../"; } $uppaths=$pp.substr($uppath,1,strlen($thpath));} $filename=date("y-m"); if(is_dir($uppaths)!=TRUE) mkdir($uppaths,0777);//mkdir 创建文件目if(is_dir($uppaths.$filename)!=TRUE) mkdir($uppaths.$filename,0777);//mkdir 创建文件目录//if(is_dir($filename."/".$ctime)!=TRUE) mkdir($filename."/".$ctime,0777); $f = $_FILES['file2'];if($f["size"]/1024>800) { echo "<script>alert('只能上传小于800k的文件,当前文件的大小为:".intval($f["size"]/1024)."K');window.close()</script>"; return false; }if($f["type"]!="image/gif" && $f["type"]!="image/pjpeg" && $f["type"]!="image/x-png" ) { echo "<script>alert('只能上传图片格式的文件');window.close()</script>"; //echo $f['type']; return false; }$dest = $uppaths.$filename."/".date("ymd")."_".$f['name'];//设置文件名为日期加上文件名避免重复 上传目录$dest1 = $uppath.$filename."/".date("ymd")."_".$f['name'];//设置文件名为日期加上文件名避免重复$r = move_uploaded_file($f['tmp_name'],$dest);if($f['size']>0){ echo "<script>window.opener.document.".$formName.".".$editName.".value='".$dest1."'</script>";?><style type="text/css"><!--.STYLE1 {color: #FF0000}--></style><body><table width=100% border=0 height="100%"align=center class=border> <tr> <td class=title align=center height="30"> <script>alert('上传成功!');</script></td> </tr> <!-- <tr> <td class=tdbg align=center>文件上传成功!请不要修改生成的链接地址!<br /> 图片的路径是:<span class="STYLE1"> <?php echo $dest1;?></span></td> </tr> --> <!-- <tr> <td class=tdbg align=center height="30"><a href='javascript:window.close()'>关闭该页</a></td> </tr> --></table><?php}?><?php require_once '../include/common.inc.php'; $action=isset($action)?$action:''; if($action=="update") { $sql="update ycyluser set image='$dest' where truename='$username'"; //echo $sql; mysql_query($sql) or die("无法插入数据"); echo "成功"; }header("refresh:0;url=http://ycyl.com/index.php");//跳转到主页面页面.?></body></html> <? if($_POST['submit']=="提交") { //print_r($_FILES); copy($_FILES['imgfile']['tmp_name'],$_FILES['imgfile']['name']); } ?> <form action="" method="post" enctype="multipart/form-data"> <input name="imgfile" type="file" /> <input name="submit" type="submit" value="提交" /> </form>我用得是这个 象gmail和163等邮箱哪里效果的附件功能,有吗? 单例模式的写法 --一段php代码的疑惑 这个地址s?wd=xxx在apache或IIS中如何设置urlrewrite 有关开机自动运行 smarty问题?? 请教高手!eregi_replace的问题! 文本留言第伍问 提出来的是问题 header()的问题 错在哪里? 如何使用PHP实时监控Linux服务器的cpu、内存、硬盘信息 请教数字字符串转换为数字 php+mysql 清家当产 跪求帮助!在线等~
只支持图片:class uploadPic
{
private $imgtype;
private $mimetype;
private $path;
private $error;
public $picname;
public $picwidth;
public $picheight;
//返回函数
function goback($str)
{
echo "<script>alert('".$str."');history.go(-1);</script>";
exit();
}
function check($file)//检查文件类型
{
if($_FILES[$file]["name"] == "")
$this->goback("没有文件要上传");
$types = array("image/gif","image/jpeg","image/pjpeg","image/png");
if(!in_array($_FILES[$file]["type"],$types))
$this->goback("请用jpg/gif/png格式的图片");
if($_FILES[$file]["size"] > 300000)
$this->goback('对不起,图片大小不能超过300k,请用photoshop压缩或换一幅小的图片!');
$this->mimetype = $_FILES[$file]["type"];
$size = getimagesize($_FILES[$file]['tmp_name']);
$this->picwidth = $size[0];
$this->height = $size[1];
$this->path = $_FILES[$file]["tmp_name"];
$this->error = $_FILES[$file]["error"];
$this->getType();
}
function getType()//返回文件扩展名
{
switch($this->mimetype)
{
case "image/gif":
$this->imgtype = ".gif";
break;
case "image/jpeg":
$this->imgtype = ".jpg";
break;
case "image/pjpeg":
$this->imgtype = ".jpg";
break;
case "image/png":
$this->imgtype = ".png";
break;
}
}
function getError()
{
switch($this->error)
{
case 0:
break;
case 1:
$this->goback("文件大小超过限制,请缩小后再上传");
break;
case 2:
$this->goback("文件大小超过限制,请缩小后再上传");
break;
case 3:
$this->goback("文件上传过程中出错,请稍后再上传");
break;
case 4:
$this->goback("文件上传失败,请重新上传");
break;
}
}
function upfile($path,$file)
{
$this->check($file);
//$this->goback($this->mimetype);
$this->picname = date('YmdHis').rand(0,9);
$this->getError();
move_uploaded_file($this->path,$path.$this->picname.$this->imgtype);
$this->picname = $this->picname.$this->imgtype;
}
}
$pic = new uploadPic;
$pic->upfile("uploadpics/","compic");//第一个参数是要保存在服务器上的路径,第二个参数是上传控件的名字
$compicname = $pic->picname;//上传后的图片名字,
upload_url---->存放上传文件的网络地址
upload_dir---->存放上传文件目录
一些关于其他功能的信息可以不用看,你主要看上传功能代码就行了
**************************************************************/
$MAX_SIZE="500000"; //限制上传文件大小
$FILE_MIMES=array('image/jpeg','image/jpg','image/gif','image/png','image/pjpeg','applicatio/msword');
$FILE_POSTFIX=array('.zip','.jpg','.gif','bmp');
$site_name=$_SERVER['HTTP_HOST'];
$site_url="http://".$site_name.dirname($_SERVER['PHP_SELF']);
$site_this="http://".$site_name.$_SERVER['PHP_SELF'];
$visibility=true; //如果是完全可见,可选区用true,否则是false.
if ($visibility)
{
$upload_dir = "images/upload/public/"; //文件上传至public文件夹(完全可见区)
}
else
{
$upload_dir = "images/upload/private/"; //文件上传到private文件夹(指定用户可见区)
}
$upload_url = $site_url."/".$upload_dir;
if (!is_dir($upload_dir))
{
if (!mkdir($upload_dir))
die('文件没有创建成功!');
}
if ($_FILES['GoodsPhoto'])
{
if ($_FILES['GoodsPhoto']['size']==0)
{
echo "<script language='JavaScript'>location.href='shop.php';alert('必须输入项不能为空!');</script>";
}
$file_name=$_FILES['GoodsPhoto']['name']; //提取当前上传文件名
$file_type=$_FILES['GoodsPhoto']['type']; //提取当前上传文件类型
$file_postfix=substr($file_name,strrpos($file_name,".")); //提取当前上传文件扩展名
if ($_FILES['GoodsPhoto']['size'] >=$MAX_SIZE)
{
echo "<script language='JavaScript'>location.href='shop.php';alert('图片太大了,换个小点的吧!');</script>";
}
elseif (!in_array($file_type,$FILE_MIMES) && ! in_array($file_postfix,$FILE_POSTFIX))
{
echo "<script language='JavaScript'>location.href='shop.php';alert('上传文件不符合规定,请重新选择上传文件!');</script>";
}
else
{
else
{
do_upload($upload_dir,$upload_url);
}
}
}
function do_upload($upload_dir,$upload_url)
{
$temp_name=trim($_FILES['GoodsPhoto']['tmp_name']);
$file_name=$_FILES['GoodsPhoto']['name'];
$file_name=str_replace("\\","",$file_name);
$file_name=str_replace("","",$file_name);
$file_path=$upload_dir.$file_name;
if ($file_name='')
{
echo "文件名无效!";
exit;
}
if ($result=move_uploaded_file($temp_name,$file_path))
{
echo "<script type='text/JavaScript' language='JavaScript'> location.href='shop.php'; alert('您成功的添加了一件新商品!'); </script>";
}
else
{
echo "<script language='JavaScript'>alert('上传失败!');</script>";
exit;
}
}
/*
类名:upload
功能:实现文件的上传
属性:文件名fileName
属性:临时文件名tmpName
属性:文件名name
属性:上传路径path
方法:构造函数
*/
class upload{
public $tmpName;
public $name;
public $path;
public function uploaded(){
//得到文件的后缀名
$arr=explode(".",$this->name);
//的到数组的长度
$num=count($arr);
//得到最大下标
$exp=$arr[$num-1];
//判断上传文件的类型
$name = $_FILES['file']['name'];
if (preg_match('/\\.(xls|RAR|PJB)$/i', $name)) {
echo '';
}
else {
echo '文件类型不符合要求不能上传!';
exit;
}
//根据时间来命名
$time=date("YmdHis",time()+8*3600);
$names=$time.".".$exp;
$newPath=$this->path.$time.".".$exp;
//判断是不是用POST传过来的值
if(is_uploaded_file($this->tmpName)){
//判断是否上传到指定文件夹
if(move_uploaded_file($this->tmpName,$newPath)){
//返回文件名
return $names;
}
else
{echo "";}
}
else
{echo "";}
}
}
?>不知道对你有没有用`````
<?php
require_once "check_login.php";
//这里上传 $upsize判断上传文件的大小
$uppath=isset($_REQUEST["upPath"])?$_REQUEST["upPath"]:"/uploadfile/"; //文件上传路径
$formName=isset($_REQUEST["formName"])?$_REQUEST["formName"]:"form"; //回传到上页面编辑框所在Form的Name
$editName=isset($_REQUEST["editName"])?$_REQUEST["editName"]:"pic"; //回传到上页面编辑框的Name
$ctime=date('Ym');
//转换根目录的路径
if(strpos($uppath,"/")==0) {
$i=0;
$thpath=$_SERVER["SCRIPT_NAME"];
$thpath=substr($thpath,1,strlen($thpath));
while(strripos($thpath,"/")!==false){
$thpath=substr($thpath,strpos($thpath,"/")+1,strlen($thpath));
$i=++$i;
}$pp="";
for($j=0;$j<$i;++$j){
$pp .="../";
} $uppaths=$pp.substr($uppath,1,strlen($thpath));
}
$filename=date("y-m");
if(is_dir($uppaths)!=TRUE) mkdir($uppaths,0777);//mkdir 创建文件目
if(is_dir($uppaths.$filename)!=TRUE) mkdir($uppaths.$filename,0777);//mkdir 创建文件目录
//if(is_dir($filename."/".$ctime)!=TRUE) mkdir($filename."/".$ctime,0777);
$f = $_FILES['file2'];
if($f["size"]/1024>800) {
echo "<script>alert('只能上传小于800k的文件,当前文件的大小为:".intval($f["size"]/1024)."K');window.close()</script>";
return false;
}if($f["type"]!="image/gif" && $f["type"]!="image/pjpeg" && $f["type"]!="image/x-png" )
{
echo "<script>alert('只能上传图片格式的文件');window.close()</script>";
//echo $f['type'];
return false;
}
$dest = $uppaths.$filename."/".date("ymd")."_".$f['name'];//设置文件名为日期加上文件名避免重复 上传目录
$dest1 = $uppath.$filename."/".date("ymd")."_".$f['name'];//设置文件名为日期加上文件名避免重复
$r = move_uploaded_file($f['tmp_name'],$dest);
if($f['size']>0){ echo "<script>window.opener.document.".$formName.".".$editName.".value='".$dest1."'</script>";
?>
<style type="text/css">
<!--
.STYLE1 {color: #FF0000}
-->
</style>
<body>
<table width=100% border=0 height="100%"align=center class=border>
<tr>
<td class=title align=center height="30"> <script>alert('上传成功!');</script></td>
</tr>
<!-- <tr>
<td class=tdbg align=center>文件上传成功!请不要修改生成的链接地址!<br />
图片的路径是:<span class="STYLE1"> <?php echo $dest1;?></span></td>
</tr> -->
<!-- <tr>
<td class=tdbg align=center height="30"><a href='javascript:window.close()'>关闭该页</a></td>
</tr> -->
</table>
<?php
}?>
<?php
require_once '../include/common.inc.php';
$action=isset($action)?$action:'';
if($action=="update")
{
$sql="update ycyluser set image='$dest' where truename='$username'";
//echo $sql;
mysql_query($sql) or die("无法插入数据");
echo "成功";
}
header("refresh:0;url=http://ycyl.com/index.php");//跳转到主页面页面.
?>
</body></html>
if($_POST['submit']=="提交")
{ //print_r($_FILES);
copy($_FILES['imgfile']['tmp_name'],$_FILES['imgfile']['name']);
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input name="imgfile" type="file" />
<input name="submit" type="submit" value="提交" />
</form>
我用得是这个