fileclass.php文件代码如下:
<?php class more_file_upload { const FILE_PATH = '../filehandle/uploadfile/'; var $file_type; var $file_type_array; var $file_type_string; var $file_name; var $file_size; var $file_tmp_name; var $file_error; var $handledate; static $totalsize = 0; function __construct($file_name, $file_error, $file_size, $file_tmp_name, $file_type) { $this->handledate = date('m-d-Y'); if (!empty($file_name)) { $this->file_name = $file_name; $this->file_error = $file_error; $this->file_size = $file_size; $this->file_tmp_name = $file_tmp_name; $this->file_type = $file_type; $this->file_type_array = array( 'text/plain', 'image/gif', 'image/jpg', 'text/html', 'image/pjpeg', 'image/png', 'application/msword', 'application/pdf' ); $this->show_execute_message($this->file_error, $this->file_name, $this->file_type, $this->file_size); } } function __destruct() { $this->file_name = NULL; $this->file_error = NULL; $this->file_size = NULL; $this->file_tmp_name = NULL; $this->file_type = NULL; self::$totalsize = 0; } function show_execute_message($smfileerror, $smfilename, $smfiletype, $smfilesize) { if ($smfileerror > 0) { switch ($smfileerror) { case 1: $smfilemessage = '<strong>文件超过服务器的约定大小!</strong>'; break; case 2: $smfilemessage = '<strong>文件超过指定的文件大小!</strong>'; break; case 3: $smfilemessage = '<strong>文件只上传了部分!</strong>'; break; case 4: echo "$this->file_name " . '文件上传失败!<br/>'; break; } self::__destruct(); } else { $smfiletypeflag = array_search($smfiletype, $this->file_type_array); if ($smfiletypeflag == false) { $smfilemessage = '<strong>文件类型不对,请核实!</strong>'; self::__destruct(); } else { $resflag = $this->move_file($this->file_tmp_name, $this->file_name); if ($resflag == 1) { $smfilemessage = '文件上传成功!'; self::$totalsize+= intval($smfilesize); self::__destruct(); } else { $smfilemessage = '<strong>文件上传失败!</strong>'; self::__destruct(); } } } $smfilesize = $smfilesize / 1024; $smfilesizeformat = sprintf('%01d', $smfilesize); echo '<tr> <td align="left" >' . $smfilename . '</td> <td align="center" >' . $smfiletype . '</td> <td align="center" >' . $smfilesizeformat . '</td> <td align="center" >' . $smfilemessage . '</td> </tr>'; } function move_file($mvfiletmp, $mvfilename) { //移动文件 $mvfilenamearr = explode('.', basename($mvfilename)); $mvtime = mktime(); $mvfilenamearr[0] = $this->rand_string(10) . "$mvtime"; $mvfilename = implode('.', $mvfilenamearr); if (is_uploaded_file($mvfiletmp)) { $uploadfile = self::FILE_PATH . "$mvfilename"; $result = move_uploaded_file($mvfiletmp, $uploadfile); return $result; } } function rand_string($len, $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789') { //指定范围内随机提取字符 $string = ''; for ($i = 0; $i < $len; $i++) { $pos = rand(0, strlen($chars) - 1); $string.= $chars{$pos}; } return $string; } } echo '<table width="90%" border="1" cellpadding="0" align="center" cellspacing="2">'; echo '<tr> <td align="center" >文件名</td> <td align="center" >文件类型</td> <td align="center" >文件大小(KB)</td> <td align="center" >执行结果</td> </tr>'; for ($i = 0; $i < count($_FILES['userfile']); $i++) { $filename[$i] = $_FILES['userfile']['name'][$i]; $fileerror[$i] = $_FILES['userfile']['error'][$i]; $filesize[$i] = $_FILES['userfile']['size'][$i]; $filetmpname[$i] = $_FILES['userfile']['tmp_name'][$i]; $filetype[$i] = $_FILES['userfile']['type'][$i]; $filetemp = new more_file_upload("$filename[$i]", "$fileerror[$i]", "$filesize[$i]", "$filetmpname[$i]", "$filetype[$i]"); } echo '</table>'; echo '<a href="upfile.html">继续上传</a> <a href="index.php">返回首页</a>'; ?>
下面还有第三个文件,就是index.php显示文件了.
文章地址:
转载随意^^请带上本文地址!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.