<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打包壓縮文件之ZipArchive方法用法分析
本文實例講述了php打包壓縮文件之ZipArchive方法用法。分享給大家供大家參考,具體如下:
前面說到了php打包壓縮文件之PclZip方法,今天來說下另一種更為簡單的方法,使用ZipArchive來壓縮文件。這個是php的擴展類,自php5.2版本以後就已經支持這個擴展,如果你在使用的時候出現錯誤,查看下php.ini裡面的extension=php_zip.dll前面的分號有沒有去掉,然後再重啟Apache這樣才能使用這個類庫。
使用ZipArchive壓縮文件是非常簡單的,php官網已經給我提供了很多相關示例,大家可以看下
http://www.php.net/manual/zh/class.ziparchive.php,例如:
<?php
$zip
=
new
ZipArchive;
//首先實例化這個類
if
($zip->open('test.zip')
===
TRUE)
{
//然後查看是否存在test.zip這個壓縮包
$zip->addFile('too.php');
$zip->addFile('test.php');
//將too.php和test.php兩個文件添加到test.zip壓縮包中
$zip->close();
//關閉
echo
'ok';
}
else
{
echo
'failed';
}
?>
下面是一些參數說明:
<?php
/********
ziparchive
可選參數
*******/
/*
1.ZipArchive::addEmptyDir
添加一個新的文件目錄
2.ZipArchive::addFile
將文件添加到指定zip壓縮包中。
3.ZipArchive::addFromString
添加的文件同時將內容添加進去
4.ZipArchive::close
關閉ziparchive
5.ZipArchive::extractTo
將壓縮包解壓
6.ZipArchive::open
打開一個zip壓縮包
7.ZipArchive::getStatusString
返回壓縮時的狀態內容,包括錯誤信息,壓縮信息等等
8.ZipArchive::deleteIndex
刪除壓縮包中的某一個文件,如:deleteIndex(0)刪除第一個文件
9.ZipArchive::deleteName
刪除壓縮包中的某一個文件名稱,同時也將文件刪除。
......
*/
?>
總之只要你的php5.2版本以上,使用ZipArchive來進行文件壓縮還是比較方便的。具體的和PclZip哪一個運行速度比較快,這個磊子還沒有做過測試,大家感興趣的可以折騰折騰。
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP操作zip文件及壓縮技巧總結》、《php文件操作總結》、《php正則表達式用法總結》、《PHP運算與運算符用法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
㈢ 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 SSH2上傳壓縮包損壞問題
問題發生的具體情況能不能具體闡述下?
根據我的經驗,對於某些瀏覽器,如果想開始一個下載需要獨立彈出一個新的窗口 <a target=_blank> 或 <form target="_blank">
其次請確認以下幾點:
1.該文件是否有讀許可權
2.是否在header之前有任何的輸出,按F12使用調試工具抓包(主流瀏覽器都有這個功能了ie9,firefox需要firebug,chrome)
㈤ PHP在線解壓ZIP文件
解壓步驟:
第一步、把unzip.php或upzid.php(2選1即可)通過 FTP上傳到壓縮包所在的文件夾;
第二步、使用「域名/unzip.php或upzid.php?file=壓縮文件名稱」訪問解壓,如 www.abc.com/unzip.php?file=name.zip ;
此源碼適合php環境的zip壓縮包在線解壓。
注意:解壓完成後請務必刪除站點目錄下的unzip.php和upzid.php文件,以免被其他人利用!
㈥ PHP網站上傳圖片自動壓縮,怎麼編程啊,求指
這里會使用到三個文件:
connect.php:連接資料庫
test_upload.php:執行SQL語句
upload_img.php:上傳圖片並壓縮
三個文件代碼如下:
連接資料庫:connect.php
<?php
$db_host='';
$db_user='';
$db_psw='';
$db_name='';
$db_port='';
$sqlconn=newmysqli($db_host,$db_user,$db_psw,$db_name);
$q="setnamesutf8;";
$result=$sqlconn->query($q);
if(mysqli_connect_errno()){
printf("Connectfailed:%s ",mysqli_connect_error());
exit();
}
?>
當然使用一些封裝的資料庫類也是可以的。
執行SQL語句:test_upload.php
<?php
require("connect.php");
require("upload_img.php");
$real_img=$uploadfile;
$small_img=$uploadfile_resize;
$insert_sql="insertintoimg(real_img,small_img)values(?,?)";
$result=$sqlconn->prepare($insert_sql);
$result->bind_param("ss",$real_img,$small_img);
$result->execute();
?>
上傳圖片並壓縮:upload_img.php
<?php
//設置文件保存目錄
$uploaddir="upfiles/";
//設置允許上傳文件的類型
$type=array("jpg","gif","bmp","jpeg","png");
//獲取文件後綴名函數
functionfileext($filename)
{
returnsubstr(strrchr($filename,'.'),1);
}
//生成隨機文件名函數
functionrandom($length)
{
$hash='CR-';
$chars='';
$max=strlen($chars)-1;
mt_srand((double)microtime()*1000000);
for($i=0;$i<$length;$i++)
{
$hash.=$chars[mt_rand(0,$max)];
}
return$hash;
}
$a=strtolower(fileext($_FILES['filename']['name']));
//判斷文件類型
if(!in_array(strtolower(fileext($_FILES['filename']['name'])),$type))
{
$text=implode(",",$type);
$ret_code=3;//文件類型錯誤
$page_result=$text;
$retArray=array('ret_code'=>$ret_code,'page_result'=>$page_result);
$retJson=json_encode($retArray);
echo$retJson;
return;
}
//生成目標文件的文件名
else
{
$filename=explode(".",$_FILES['filename']['name']);
do
{
$filename[0]=random(10);//設置隨機數長度
$name=implode(".",$filename);
//$name1=$name.".Mcncc";
$uploadfile=$uploaddir.$name;
}
while(file_exists($uploadfile));
if(move_uploaded_file($_FILES['filename']['tmp_name'],$uploadfile))
{
if(is_uploaded_file($_FILES['filename']['tmp_name']))
{
$ret_code=1;//上傳失敗
}
else
{//上傳成功
$ret_code=0;
}
}
$retArray=array('ret_code'=>$ret_code);
$retJson=json_encode($retArray);
echo$retJson;
}
//壓縮圖片
$uploaddir_resize="upfiles_resize/";
$uploadfile_resize=$uploaddir_resize.$name;
//$pic_width_max=120;
//$pic_height_max=90;
//以上與下面段注釋可以聯合使用,可以使圖片根據計算出來的比例壓縮
$file_type=$_FILES["filename"]['type'];
functionResizeImage($uploadfile,$maxwidth,$maxheight,$name)
{
//取得當前圖片大小
$width=imagesx($uploadfile);
$height=imagesy($uploadfile);
$i=0.5;
//生成縮略圖的大小
if(($width>$maxwidth)||($height>$maxheight))
{
/*
$widthratio=$maxwidth/$width;
$heightratio=$maxheight/$height;
if($widthratio<$heightratio)
{
$ratio=$widthratio;
}
else
{
$ratio=$heightratio;
}
$newwidth=$width*$ratio;
$newheight=$height*$ratio;
*/
$newwidth=$width*$i;
$newheight=$height*$i;
if(function_exists("imageresampled"))
{
$uploaddir_resize=imagecreatetruecolor($newwidth,$newheight);
imageresampled($uploaddir_resize,$uploadfile,0,0,0,0,$newwidth,$newheight,$width,$height);
}
else
{
$uploaddir_resize=imagecreate($newwidth,$newheight);
imageresized($uploaddir_resize,$uploadfile,0,0,0,0,$newwidth,$newheight,$width,$height);
}
ImageJpeg($uploaddir_resize,$name);
ImageDestroy($uploaddir_resize);
}
else
{
ImageJpeg($uploadfile,$name);
}
}if($_FILES["filename"]['size'])
{
if($file_type=="image/pjpeg"||$file_type=="image/jpg"|$file_type=="image/jpeg")
{
//$im=imagecreatefromjpeg($_FILES[$upload_input_name]['tmp_name']);
$im=imagecreatefromjpeg($uploadfile);
}
elseif($file_type=="image/x-png")
{
//$im=imagecreatefrompng($_FILES[$upload_input_name]['tmp_name']);
$im=imagecreatefromjpeg($uploadfile);
}
elseif($file_type=="image/gif")
{
//$im=imagecreatefromgif($_FILES[$upload_input_name]['tmp_name']);
$im=imagecreatefromjpeg($uploadfile);
}
else//默認jpg
{
$im=imagecreatefromjpeg($uploadfile);
}
if($im)
{
ResizeImage($im,$pic_width_max,$pic_height_max,$uploadfile_resize);
ImageDestroy($im);
}
}
?>
請按照現實情況更改connect.php,test_upload.php中對應的信息。
望採納,謝謝。
㈦ 怎麼用php寫一個表單上傳zip格式的壓縮包並解壓到根目錄的指定目錄中
<?php
if($_FILES["file"]["error"]>0){
echo"<script>console.log('ReturnCode:".$_FILES["file"]["error"]."');</script>";
}
else{
if(!file_exists("upload/".$_FILES["file"]["name"])){
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/".$_FILES["file"]["name"]);
echo"Storedin:"."upload/".$_FILES["file"]["name"];
system('zip解壓縮命令');
}
else{
system('zip解壓縮命令');
}
}
?>
因為php即使拓展了zip庫,也不能夠實現解壓縮,而且拓展zip庫會要更改php.ini,所以推介下載7z的命令行版本,用系統命令解決。╮( ̄▽ ̄"")╭
㈧ php 怎樣上傳壓縮包並解壓到目錄
1.查找一般的php上傳類都可以上傳 zip 文件的。 (記得設置好上傳文件格式就好)
2.確認你的php擴展中 包含有 php_zip 這個擴展。
然後找 zip 的相關函數方法吧。 php手冊中去看。