php 文件上传类和php 上传文件以及php 上传图片等php 上传代码只是表现形式不一样了。
class Uploader
{
var $_base_dir = null;
var $_rel_dir = null;
var $_random_fname = false;
var $_random_fname_len = 5;
var $_fname_filter = null;
var $_ftype_filter = null;
var $_origin_paths = array();
function Uploader( $base_dir, $rel_dir )
{
$this->_base_dir = $base_dir;
$this->_rel_dir = $rel_dir;
}
function setRandomFileName($random_fname, $random_fname_len=5)
{
$this->_random_fname = $random_fname;
$this->_random_fname_len = $random_fname_len;
}
function setFileTypeFilter($filter)
{
$this->_ftype_filter = $filter;
}
function addFile($file, $origin_path='')
{
$file = trim($file);
$origin_path = trim($origin_path);
if( array_key_exists($file, $this->_origin_paths) )
return;
$this->_origin_paths[$file] = $origin_path;
}
function upload()
{
foreach( $this->_origin_paths as $file => $origin_path )
{
$result = $this->_uploadFile($file, $origin_path);
if( $result != 'Success' )
return $result;
}
return 'Success';
}
/*
* @desc 上传附件
* @return 成功返回Success 失败返回失败类型
* @param $file 文件名 $orgin_path 文件路径
*/
function _uploadFile($file, $origin_path) //上传附件
{
$ffile = $_FILES[$file]['tmp_name']; //文件被上传后在服务端储存的临时文件名。
$fname = $_FILES[$file]['name']; //客户端机器文件的原名称。
$fsize = $_FILES[$file]['size']; //已上传文件的大小
$ftype = $_FILES[$file]['type']; //文件的 MIME 类型
$new_path = '';
if( !empty($fname) && is_uploaded_file($ffile) )
{
if( !empty($this->_ftype_filter) && !is_null($this->_ftype_filter) )
{
$match = false;
$extensions = explode(',', $this->_ftype_filter);
foreach($extensions as $extension)
{
if( strtolower(strrchr($fname,'.')) == '.'.strtolower(trim($extension)) )
{
$match = true;
break;
}
}
if( !$match )
return 'ErrorFileTypeFilterNotMatch';
}
$fpath = $this->_base_dir . $this->_rel_dir;
if( $this->_random_fname )
$fname = $this->_getUniqueFileName($fname, $this->_random_fname_len);
copy( $ffile, $fpath . $fname ) or die( 'upload failed!' );
$new_path = $this->_rel_dir . $fname;
}
if( !empty($origin_path) && !empty($new_path) && $origin_path!=$new_path )
{
$this->delete($origin_path);
}
if( !empty($new_path) )
$this->_origin_paths[$file] = $new_path;
$Erroe=$_FILES[$file]['error'];
switch($Erroe){
case 1:
return 'ErrExceedUploadMaxFileSize';
break;
case 2:
return 'ErrExceedHtmlMaxFileSize';
break;
case 3:
return 'ErrPartFileTrans';
break;
// case 4:
// return 'ErrNoFileTrans';
// break;
default:
return 'Success';
}
}
/*
* @desc 取得路径
* @return 路径
* @param 无
*/
function getFilePath()
{
return $this->_origin_paths;
}
function getFileAbsPath()
{
$paths = array();
foreach( $this->_origin_paths as $path )
{
$paths[] = $this->_base_dir . $path;
}
return $paths;
}
function delete( $fpath )
{
if( !empty($fpath) && is_file($this->_base_dir . $fpath) )
unlink( $this->_base_dir . $fpath ) or die( 'unlink error' );
}
function _getUniqueFileName( $fname, $len )
{
$timestamp = date('YmdHis');
srand((double)microtime()*1000000);
for( $i=0, $randfname=''; $i {
$num = rand(0, 35);
if( $num $randfname .= chr( ord('0')+$num );
else
$randfname .= chr( ord('a')+$num-10 );
}
return $timestamp.'_'.$randfname.strtolower(strrchr($fname,'.'));
}
}
?>

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3漢化版
中文版,非常好用

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器