php上传rar
自定义文件上传函数
:
<?php
/**
 * 文件上传
 */
/**
 *  文件上传函数
 *  @param  $name     string  表单上传框的name值
 *  @param  $file_arr array	  上传文件的类型限制
 *	@param  $filesize int     上传文件限制其大小
 * 	@param  $path	  string   文件的保存路径
 *  @return 	string 成功返回 "上传成功及文件名"
 */
 function uploads($name,$file_arr=array('jpg','png','gif','JPG','GIF','PNG'),$filesize=3145728,$path='uploads'){
	//1、检测文件的错误信息,如果是0 就允许上传(保存)
	$err=$_FILES[$name]['error'];
	if($err>0){
		if($err==1){
			return '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。';
		}elseif($err==2){
			return '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 ';
		}elseif($err==3){
			return '文件只有部分被上传。';
		}elseif($err==4){
			return'没有文件上传';
		}elseif($err>=5){
			return '其他错误';
		}
	}
	//2、检测文件的类型,是否是我们需要的(png、gif、jpg)
	$pre=pathinfo($_FILES[$name]['name'],PATHINFO_EXTENSION);
	if(!in_array($pre,$file_arr)){
		return '上传的文件类型不符';
	}
	//3、检测文件大小
	if($_FILES[$name]['size']>$filesize){
		return '上传的文件太大';
	}
	//4、保存文件
	$file_name=date('YmdHis',time()).mt_rand(1000,9999).'.'.$pre;
	if(is_uploaded_file($_FILES[$name]['tmp_name'])){
		move_uploaded_file($_FILES[$name]['tmp_name'], $path."/".$file_name);
		return '上传成功|'.$file_name;
	}else{
		return "文件上传失败!";
	}
	
 }
?>
Ⅱ php上传如何设置才能上传压缩包跟txt文本
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>网页教学网(webjx.com)文件上传实例</title> 
</head> 
<body> 
<form enctype="multipart/form-data" action=upfile.php method=post>  
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"> 
<input type=file name=upfile size=20> 
<input type=submit value='上传文件'>  
</form>  
</body> 
</html>
<? 
function getname($exname){ 
   $dir = "../uploadfile/"; 
   $i=1; 
   if(!is_dir($dir)){ 
      mkdir($dir,0777); 
   } 
while(true){ 
     if(!is_file($dir.$i.".".$exname)){ 
        $name=$i.".".$exname; 
        break; 
      } 
     $i++; 
   } 
return $dir.$name; 
} 
$exname=strtolower(substr($_FILES['upfile']['name'],(strrpos($_FILES['upfile']['name'],'.')+1))); 
$uploadfile = getname($exname);  
if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile)) { 
   echo "<h2><font color=#ff0000>文件上传成功!</font></h2><br><br>"; 
}else { 
   echo "<h2><font color=#ff0000>文件上传失败!</font></h2><br><br>"; 
} 
echo "下面是文件上传的一些信息: 
    <br><br>原文件名:".$_FILES['upfile']['name'] . 
    "<br><br>类型:" .$_FILES['upfile']['type'] . 
    "<br><br>临时文件名:".$_FILES['upfile']['tmp_name']. 
    "<br><br>文件大小:".$_FILES['upfile']['size'] . 
    "<br><br>错误代码:".$_FILES['upfile']['error']; 
?>
一般文件都是可以传的!文件太大就不行了!
Ⅲ PHP文件上传类型限制
有两种方式可以给你解决,也可以几种方式同时使用
- 使用原本自带的函数getimagesize来判断是否是图片 
- 使用获取上传文件头的方式来判断 
$filename='xxxx.gif';
$file=fopen($filename,'rb');
$bin=fread($file,2);//只读取上传文件的头文信息的2个字节
fclose($file);
$strInfo=@unpack('c2chars',$bin);
$typeCode=intval($strInfo['chars1'].$strInfo['chars2']);
$fileType='';
switch($typeCode){
case7790:
$fileType='exe';
break;
case7784:
$fileType='midi';
break;
case8297:
$fileType='rar';
break;
case255216:
$fileType='jpg';
break;
case7173:
$fileType='gif';
break;
case6677:
$fileType='bmp';
break;
case13780:
$fileType='png';
break;
default:
echo'unknown';
break;
}
echo'文件类型:'.$fileType.'文件头信息:'.$typeCode;
希望对你有用!
Ⅳ PHP判断上传上来的RAR文件是否被加密
RAR构成到Winrar目录下找TechNote.txt
比较复杂,需要拆文件头,大概是0x17为80就是没加密的,加密的见过有C4,有84.(末尾都是4)
你再研究下. 
===============
从文件外皮看不出是否加密的,必须拿到一点文件头才行,不了解客户端的程序,应该可以类似网易相册那样在客户机本地就完成判
Ⅳ php用ci框架上传rar或者zip文件的,没办法上传,其他文件都可以,求解,地址不到mysql数据库
一,首先在form表单加上enctype="multipart/form-data"说明该表单用来上传文件
二,特别注意的是,:默认情况下上传的文件来自于提交表单里名为userfile的文件域
三,$this->upload->data()这是一个辅助函数,它返回你上传文件的所有相关信息的数组
Ⅵ php文件上传RAR的mime类型
首先要建立一个文件夹和两个文件,具体如下:
File              ——————文件夹,用于存放上传的文件。
choose.htm   ——————htm文件,用于选择上传的文件。
upload.php ——————php文件,用于处理上传的文件。
第一步:建立 File 文件夹。
第二步:建立 choose.htm 文件,代码如下:
____________________________________________________________________________________________________________
<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FLIE_SIZE" value="1000000" />
上传此文件:
    <input name="userfile" type="file" id="userfile" />
    <input type="submit" name="Submit" value="上传" />
</form>
____________________________________________________________________________________________________________
第三步:建立 upload.php 文件,代码如下:
____________________________________________________________________________________________________________
<?php
//上传文件错误判定
if($_FILES['userfile']['error']>0)
{
       echo '错误:';
      
       switch($_FILES['userfile']['error'])
       {
            case 1: echo '文件尺寸超过允许的最大上传限度!'; break;
            case 2: echo '文件尺寸超过允许的最大上传限度!'; break;
            case 3: echo '只有部分文件被上传!'; break;
            case 4: echo '没有任何文件被上传!'; break;
       }
       exit;
}
//上传文件格式判定
if($_FILES['userfile']['type'] !='text/plain')
{
       echo '错误:非法文件格式!';
       exit;
}
//设置文件保存路径
$upfile = './File/' . $_FILES['userfile']['name'];
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
{
       if(!move_uploaded_file($_FILES['userfile']['tmp_name'],$upfile))
       {
            echo '错误:没有将文件移动到指定目录!';
            exit;
       }
}
else
{
       echo '错误:可能文件上传被攻击!文件名:';
       echo $_FILES['userfile']['name'];
}
echo '文件上传成功!';
//格式化上传的文件
$fp = fopen($upfile,'r');
$contents = fread($fp,filesize($upfile));
fclose($fp);
$contents = strip_tags($contents);
$fp = fopen($upfile,'w');
fwrite($fp,$contents);
fclose($fp);
//显示上传文件内容
echo '上传文件的内容为:';
echo $contents;
?>
____________________________________________________________________________________________________________
测试一下:
1、建立一个 123.txt 文件,里面输入一些纯文本字符,比如 abc,上传成功!
2、我们再来试看其他后缀名,如.exe,.php,.htm之类的,只要非txt,就将导致失败!
3、把任意一个大于1M的文件名改为123.txt并上传,我们将发现超过限制大小的文件将导致上传失败!
4、将123.txt的内容改掉,删除所有内容,输入 <html>HTML code</html>,保存并上传,我们会发现上传失败!
5、将123.txt的内容改掉,删除所有内容,输入 <?php echo'PHP code'; ?>保存并上传,我们会发现 File 文件夹中有一个0字节的,没有任何内容的123.txt文件!
Ⅶ php 怎把上传的rar zip文件 自动解压 用的是哪个函数 求高手指点 告急 谢谢 求源代码
/**
 * PHP在线压缩/解压实例
 */
 
date_default_timezone_set('prc');
 
$zip    = new engine_compress_decompress();
 
if (isset($_POST))
{
    $sourcePath = '';    //默认位置
 
    if (isset($_FILES['upfile']))   //上传文件
    {
        $stmp           = $zip->fileUpload('upfile');
        $sourcePath     = $stmp['sourcefile'];
        $upfileError    = $stmp['error'];
    }
    elseif (isset($_POST['inputfile'])) //输入目录或者文件
    {
        $sourcePath = $_POST['inputfile'];
    }
    elseif (isset($_POST['decompresssourcefiles'])) //解压缩提交
    {
        $isDecompress   = $zip->decompress($_POST['decompresssourcefiles'], $_POST['topath']);
        if (!empty($isDecompress['filelist']))
        {
            $href   = '<script type="text/javascript" language="javascript">window.location.href=\'#decompress\'</script>';
        }
 
    }
 
    $fileList           = $zip->fileArray($sourcePath); //解压缩文件列表
 
    if (isset($_POST['compressinputfileorfolder'])) //压缩文件目录或者文件输入
    {
        $sourcePath = $_POST['compressinputfileorfolder'];
        $href   = '<script type="text/javascript" language="javascript">window.location.href=\'#compress\'</script>';
        $compressFilelist   = $zip->compressFileArray($sourcePath); //压缩文件列表
    }
    elseif ((isset($_POST['selectcompressfilelist'])) && (isset($_POST['compresssavefilename'])))
    {
        $compressFiles  = $zip->compress($_POST['selectcompressfilelist'], $_POST['compresssavefilename']); //真实检测
        $isCompress     = $zip->CompileZipFile($compressFiles, $zip->savePath, 'all');
        if (!empty($isCompress))
        {
            $href   = '<script type="text/javascript" language="javascript">window.location.href=\'#compress\'</script>';
        }
    }
}
Ⅷ 如何用PHP上传RAR压缩包同时解压到指定目录
<?php
header("content-type:text/html;charset=utf-8");
$path=getcwd();//获取当前系统目录
if($_POST['sub'])
{
$tname=$_FILES["ufile"]["tmp_name"];
$fname=$_FILES["ufile"]["name"];
move_uploaded_file($tname,$fname);
$obj=newcom("wscript.shell");//使用PHP预定义的Com组件加载Shell,加载wscript.shell用来执行dos命令的组件
$obj->run("winrarx$path\".$fname."".$path,1,true);//所要执行的命令
unlink($fname);//解压后删除已上传的压缩文件
}
?>
<formaction=""method="post"enctype="multipart/form-data">
选择要上传的文件:<inputtype="file"name="ufile">
<inputtype="submit"name="sub"value="上传压缩文件并解压">
</form>
Ⅸ php如何上传一个压缩文件
<formenctype="multipart/form-data"action="singleupload.php"method="post">
<inputtype="hidden"name="MAX_FILE_SIZE"value="2000000">
<inputtype=filename=upfilesize=20>
<inputtype=submitvalue="上传文件">
</form>
if(move_uploaded_file($_FILES['upfile']['tmp_name'],$_FILES['upfile']['name'])){
echo"<h2><fontcolor=#ff0000>文件上传成功!</font></h2><br><br>";
}else{
echo"<h2><fontcolor=#ff0000>文件上传失败!</font></h2><br><br>";
}
Ⅹ php 文件上传怎样设置文件的类型为所有类型(jpg,doc,rar,等所有文件类型)
一般PHP文件上传时应自行设置检查文件类型的,如果你不检查就能上传所有的文件类型了。
