用php实现上传
2011-05-03 15:32 qinuo 阅读(350) 评论(0) 收藏 举报虽然我是一个录音电话销售工作人员,但是我以前也是做网站开发的,对于一些经验,还有一些方法,我想与大家分享一下。
php
<html> 
<form enctype="multipart/form-data" action="" method="POST"> 
<input type="hidden" name="MAX_FILE_SIZE" value="6000000" /> <!--设置允许提交表单的最大字节数--> 
文件上传: <input name="file" type="file" /> 
<input type="submit" value="上传"/> 
</form> 
</html> 
<? 
//处理程序 
function extend($file_name) //定义获取文件的扩展名函数 
{$extend =explode("." , $file_name); 
$va=count($extend)-1; 
return strtolower($extend[$va]);} 
$dirname="../";//是否启用上一层路径,格式为:$dirname="../";或$dirname="http://www.cnblogs.com/";等等与$dir组合使用,注意不要溢出根路径 
$dir='upload/aa/bb';//设定上传目录,与上面的$dirname组合 
$file=$_FILES['file'];//从文件域表单获取文件 
$filename=$file['name'] ;//获取文件全名 
$c_filesize=$file['size'] ;//获取本地的文件大小 
$extendname=extend($filename);//获取文件扩展名 
if($c_filesize>200000000000)die("文件太大");//限制上传文件大小, 单位字节 
//if($extendname!="jpg")die("只允许上传JPG格式的图片");//限制上传文件格式,去掉语句开头的两斜杠生效
if(!file_exists($dir));//检查目录文件夹是否存在,不存在则建立新文件夹 
{ 
$v=split ('[/.-]', $dir); 
for ( $i=0 ; $i <count($v) ; $i++) 
{$dirname=$dirname.$v[$i]; 
if(!file_exists($dirname))mkdir($dirname); 
$dirname=$dirname."/";} 
} //目录创建完毕 
?> 
<? 
$dest=$dirname.date("YmdHis", time()).rand(100000,999999).".".$extendname; //设置文件名为日期加上从100000到999999的随机数和扩展名 
if(file_exists($dest))die("该文件已经存在"); 
if(move_uploaded_file($file['tmp_name'],$dest)) //调用文件上传函数 
{$s_filesize=filesize($dest);//获取服务器端的文件大小 
echo "文件上传成功,<a href=".$dest.">查看文件地址</a>"; 
echo "<br>本地文件名:".$filename; 
echo "<br>远端文件名:".$dest; 
echo "<br>大 小:".ceil($s_filesize/1024)." KB"; 
echo "<br>扩展名:".$extendname; 
echo "<br>大 小:".$c_filesize." BYTE";} 
else 
{echo "还未进行文件上传";} 
?> 
                    
                
                
            
        
浙公网安备 33010602011771号