當前位置:首頁 » 文件管理 » php上傳rar

php上傳rar

發布時間: 2022-09-08 15:26:21

Ⅰ 求php網頁上傳文件代碼.

自定義文件上傳函數


<?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文件上傳類型限制

有兩種方式可以給你解決,也可以幾種方式同時使用

  1. 使用原本自帶的函數getimagesize來判斷是否是圖片

  2. 使用獲取上傳文件頭的方式來判斷

$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文件上傳時應自行設置檢查文件類型的,如果你不檢查就能上傳所有的文件類型了。

熱點內容
照片壓縮美圖秀秀 發布:2024-10-11 21:23:42 瀏覽:415
冠狀病毒加密 發布:2024-10-11 21:09:21 瀏覽:103
伺服器與瀏覽器是什麼 發布:2024-10-11 21:09:19 瀏覽:581
安卓11的彩蛋游戲怎麼進去 發布:2024-10-11 21:02:01 瀏覽:560
android最新api 發布:2024-10-11 21:01:58 瀏覽:737
腳本搶消費券 發布:2024-10-11 21:01:51 瀏覽:540
文件夾只讀加密專家 發布:2024-10-11 20:40:26 瀏覽:867
視頻緩存太慢 發布:2024-10-11 20:34:16 瀏覽:116
我的世界伺服器為什麼不能聯機 發布:2024-10-11 20:34:11 瀏覽:828
51asp源碼 發布:2024-10-11 20:33:33 瀏覽:541