日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

PHP文件上传类及其使用实例教程

發(fā)布時(shí)間:2024/4/14 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP文件上传类及其使用实例教程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這個(gè)例子主要介紹了一個(gè)比較通用的文件上傳類。當(dāng)我們實(shí)例化這個(gè)類的時(shí)候可以指定上傳路徑和允許上傳的文件類型。

本例包含兩個(gè)文件
upload.class.php
test.php

上傳類中的屬性和方法列表如下圖所示:
$path:文件上傳路徑
$type:允許上傳的文件類型
set_type():設(shè)置可以上傳的文件類型
up():上傳處理
Name():得到文件名
_file_type():得到文件類型
_make_dir():創(chuàng)建目錄
GetPath():得到路徑




以下是upload.class.php源代碼:
path = $path;//更新文件類型$this->type = $this->set_type($type);}function set_type($type = "png,jpg,gif,rar,zip,gz") {if (!$type) {$type = "png,jpg,gif,rar,zip,gz";}$type_array = explode(",", $type);$array = array ();foreach ($type_array as $key => $value) {$value = trim($value);if (strlen($value) > 1) {if ((substr($value, 0, 1) != ".")) {$value = "." . $value;}$array[$key] = $value;}}$this->type = implode(",", $array);$mytype = $this->type;return $mytype;}function up($var, $file = "") {if (empty ($var)) {return false;}$this->_make_dir($this->path); #[更新附件路徑]$file_name = $this->_check($file);if (!$file_name)$file_name = time(); //如果文件名為空,剛使用時(shí)間作為文件名稱//檢查文件名稱是否含有后綴,有則去掉$file_name = strtolower($file_name); //將所有大寫改為小寫//-----$file_type = $this->_file_type($var);if ($file_type) {if (strpos($file_name, ".") === false) {$filename = $file_name . $file_type; //新的文件名} else {$filename = $file_name;}#[由于PHP不支持客戶端檢查文件大小,固這里沒有對文件大小進(jìn)行限制]#[在客戶端對上傳進(jìn)行大小限制!]$up = copy($_FILES[$var]["tmp_name"], $this->path . $filename);if ($up) {return $filename;} else {return false;}} else {return false;}}function Name($var) {return $_FILES[$var]["name"];}function _file_type($var) {if ($_FILES[$var]["name"]) {$name = explode(".", $_FILES[$var]["name"]);$count = count($name);$type = "." . strtolower($name[$count -1]);if (strpos($this->type, $type) === false) {return false;}return $type;} else {return false;}}function _check($file = "") {if (!$file) {return false;}$file_name = basename($file);if ($file_name == $file) {return $file;}$array = explode("/", $file);$path = "";$count = count($array);if ($count > 1) {for ($i = 0; $i < ($count -1); $i++) {$path .= $array[$i] . "/";}}$this->_make_dir($this->path . $path);$this->path = $this->path . $path;return $file_name;}#[創(chuàng)建目錄]function _make_dir($folder) {$array = explode("/", $folder);$count = count($array);$msg = "";for ($i = 0; $i < $count; $i++) {$msg .= $array[$i];if (!file_exists($msg) && ($array[$i])) {mkdir($msg, 0777);}$msg .= "/";}return true;}function GetPath() {return $this->path;}function FileType($filename) {$filename = basename($filename);$name = explode(".", $filename);$count = count($name);$type = strtolower($name[$count -1]);return $type;} } ?> test.php源碼如下:

<html> <head> <meta http-equiv="Content-Type" <meta="" content="text/?html;?" charset="utf-8"> <title>文件上傳</title> </head> <?php include ("upload.class.php"); //實(shí)例化一個(gè)文件上傳類,可以上傳指定的jpg,png,rar,ppt,doc類型的文件,上傳到upload目錄下。 $up = new UPLOAD("upload/", "jpg,png,rar,ppt,doc"); if (isset ($_POST['submit1'])) {$v = "upfile";echo $up->Name("upfile");if ($fname = $up->up($v)) {echo "上傳成功.." . $fname;} else {echo "上傳失敗";}} else {echo "請選擇文件上傳~"; }//print_r($_FILES['upfile']) ; ?> <body><form action="" method="POST" enctype="multipart/form-data" name="form1" id="form1"><input type="file" name="upfile" ><input type="submit" name="submit1" value="上傳"><p>在寫測試用例的時(shí)候把全局變量$_FILES寫為$_FILE,杯具哎。</p></form> </body> </html>

轉(zhuǎn)載于:https://www.cnblogs.com/phpcode/archive/2012/03/11/2522719.html

總結(jié)

以上是生活随笔為你收集整理的PHP文件上传类及其使用实例教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。