问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php 上传文件

发布网友 发布时间:2022-04-06 04:23

我来回答

1个回答

热心网友 时间:2022-04-06 05:53

刚学php时写的一个类,可以给你参考下,你所说的功能基本上也都有。

这个用作学习还是不错的。


<?php
class fileup{
private $savefilepath;    //保存路径
private $filetype=array('gif','jpg','jpeg','png'); //文件类型
private $maxsize=1000000;   //上传最大的尺寸 默认值设置为1M
private $savename=true;   //是否默认随机名称
private $upfileform; //上传文件表单的name值
//以下是不可以修改的成员属性
private $tmpname; //上传的临时文件名
private $upfilename; //上传文件的名称
private $uperror;
private $newname; //新的文件名
//private $upfiletype; //上传文件的类型
private $upfilesize; //上传文件的大小。
private $filehz;  //文件名的扩展名。

//构造方法
function __construct($upfileform,$savefilepath='./upload/'){
$this->upfileform=$upfileform;
$this->savefilepath=rtrim($savefilepath,'/');
$this->tmpname=$_FILES[$upfileform]['tmp_name'];
$this->upfilename=$_FILES[$upfileform]['name'];
$this->upfilesize=$_FILES[$upfileform]['size'];
$this->uperror=$_FILES[$upfileform]['error'];
$this->getnewname();
}
//设置文件上传的参数,不设置为默认值。
function setfilepar($par){
$pars=array('filetype','maxsize','savename');
foreach($par as $key=>$value){
if(in_array($key,$pars)){
$this->$key=$value;
}else{
continue;
}
}
}
//检查上传
private function checkfileup(){
//判断文件夹是否正确或文件夹是否有可写入的权限。
if(!is_dir($this->savefilepath)||!is_writable($this->savefilepath)){
$this->uperror=8;
return false;
}
//判断文件名是否存在
if(is_file($this->newname)){
$this->uperror=9;
return false;
}
//判断上传文件的类型是否正确。
if(!in_array(strtolower($this->filehz),$this->filetype)){
$this->uperror=-1;
return false;
}
return true;
}
//获取新的文件名字
private function getnewname(){
$tmp=explode('.',$this->upfilename);
$this->filehz=$tmp[count($tmp)-1];
if(is_bool($this->savename)){
if($this->savename){
$this->newname=$this->savefilepath.'/'.date('YmdHis').rand(10000,99999).'.'.$this->filehz;
}else{
$this->newname=$this->savefilepath.'/'.$this->upfilename;
}
}else{
$this->newname=$this->savefilepath.'/'.$this->savename.'.'.$this->filehz;
}
}

//获取错误信息
private function getuperror(){
switch($this->uperror){
case 1: echo '上传文件超过了系统指定的大小'; break;
case 2: echo '上传文件超过了表单中指定的大小'; break;
case 3: echo '文件只有部分上传'; break;
case 4: echo '没有文件上传'; break;
case 6: echo '找不到上传的文件,系统错误'; break;
case 7: echo '文件写入失败'; break;
case 8: echo '文件路径不存在,或不可写'; break;
case 9: echo '文件名已经存在,请不要重复上传'; break;
case -1: echo '不是指定上传的文件'; break;
case -2: echo '请勿使用非法途径上传'; break;
case -3: echo '文件上传失败'; break;
default: '未知错误'; break;

}
}


function fileupload(){
if(!$this->checkfileup()||$this->uperror!=0){
$this->getuperror();
return false;
}else{
if(!is_uploaded_file($_FILES[$this->upfileform]['tmp_name'])){
$this->uperror=-2;
$this->getuperror();
return false;
}else{
if(move_uploaded_file($_FILES[$this->upfileform]['tmp_name'],$this->newname)){
return true;
}else{
$this->uperror=-3;
return false;
}
}
}
}
//获取文件名
function getname(){
return $this->newname;
}


}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何选手机号码才大吉好运发财的手机号码? 手机号码吉凶吉祥号富贵大吉的手机尾号有哪些? 鸽子吃卫生纸是缺什么 为什么鸽子不吃菜叶子而只吃玉米呢 电脑显示未安装evernote怎么回事请教高手我的印象笔记不能在台式电脑... 韩国是岛国吗 韩国最便宜的vps 电脑开机时出现rebootandselectproperbootdevice怎么办 reboot and sel... ...出现reboot and select proper boot device 高清的液晶电视最好的选择?? php上传文件到文件夹 PHP 上传图片 并生成固定尺寸的缩略图 求 php自动生成缩略图代码... 求大神解释下面php缩略图代码的详细功能逻辑 php 如何提取内容里面的第一张图片生成缩略图 ThinkPHP 做url生成缩略图要怎么做 php制作png格式的缩略图 求如何用php读取指定文件夹中的所有图片,生成缩略图,在网页上分页显示,单击缩略图就在新页面显示大图。 能直接用的PHP生成缩略图的程序(要求简单) 谁有php批量处理图片、图片生成缩略图、图片添加水印的函数? php里如何提取内容里面的第一张图片生成缩略图。 php按百分比生成缩略图的代码分享 php自动生成缩略图代码 PHP如何把上传的照片生成高质量的缩略图? php上传图片自动生成缩略图 用PHP怎么生成高质量的缩略图 php怎么给psd图片生成缩略图??? PHP 图片上传生成缩略图 dreamweaver编辑运行php文件 无错误提示是什么情况? php pdo 怎么连接错误 也没有报错 为什么 用php怎么处理上传文件 php上传文件到服务器 php 文件上传 怎么用php做一个文件上传代码实例 怎么用php文件上传功能,并可以同时进行数据提交,请问代码如何写? php中的文件上传处理 PHP字符串如何替换函数 php 替换中文字符串函数 php判断连接是不是url PHP判断变量是否为正确的url的正则表达式怎么写? php 怎么验证输入的url合法性 php语言获得并判断url php判断url地址正则表达怎么写 请问用JS或者PHP再或者其他什么方法能否实现判断跳转后的URL是否是某个URL(比如是否是百度)? PHP。判断URL正则表达,如何写。 php怎么判断一个url是不是图片 php 判断是网址还是文件路径 PHP 正则验证URL网址格式是否有效 php如何判断URL是远程的文件还是目录 php如何判断一个数组中是否存在于一段url中