超简单的php上传类代码

这个是我昨晚写的一个超简单的上传类,只要 $up->upload($_FILES[‘imgfile‘]);  即可。 一条语句搞定上传
石家庄工商代办送给所有草根的个人站长

上传文件:
up.php
<?php
//验证
if(empty($_COOKIE[‘login‘])) {
        die(‘index‘);
}
//加载类
include_once("_inc/class_uppic.php");
//上传
if(!empty($_GET[‘action‘]) && $_GET[‘action‘] == "upload"){
        $up->upload($_FILES[‘imgfile‘]);
        echo "上传成功!文件名:{$up->new_url} <a href=?yes>重新上传</a>";
}
?>

<form action="?action=upload" method="post" enctype="multipart/form-data">
图片来源:<input type="file" name="imgfile" style="width:200px;height:25px;">
<input type="submit" name="submit" value="上传" style="width:50px;height:25px;">

//================分割线==============

类文件:
class_uppic.php
<?php
/*
        power by jtxxol.com
        2011-06-20
*/
$up=new class_uppic;
class class_uppic{

        function __construct(){
                //保存目录
                $this->save_path=‘/uploadfile/‘;
                //文件链接
                $this->save_url=‘/uploadfile/‘;
                //允许大小 300k
                $this->allow_size=300000;
                //允许类型
                $this->allow_ext=‘jpg,jpeg,gif,png‘;
                //新文件名
                $this->new_name=date("YmdHis").rand(10,99);
                //初始化错误提示
                $this->err=‘‘;
        }
        //上传
        function upload($arr){
                $this->file=$arr;
                //初始化设置
                $this->allow_ext=explode(‘,‘,$this->allow_ext);
                $this->save_path=$_SERVER[‘DOCUMENT_ROOT‘].$this->save_path.date(‘Y-m‘).‘/‘;
                $this->save_url=$this->save_url.date(‘Y-m‘).‘/‘;
                //获得扩展名
                $temp_arr = explode(".", $this->file[‘name‘]);
                $file_ext = array_pop($temp_arr);
                $file_ext = trim(strtolower($file_ext));
                //检查类型
                if(!in_array($file_ext,$this->allow_ext)){
                        $this->err="上传图片类型错误";
                }
                //检查大小
                if($this->file[‘size‘]>$this->allow_size){
                        $this->err="文件超出限制大小";
                }
                //递归建立目录
                $this->creatdir($this->save_path);
                //上传后的路径
                $this->new_path=$this->save_path.$this->new_name.‘.‘.$file_ext;
                $this->new_url =$this->save_url.$this->new_name.‘.‘.$file_ext;
                //检查错误
                if (!empty($this->err)){
                        $this->show($this->err);
                }
                //上传
                if( !move_uploaded_file($this->file[‘tmp_name‘],$this->new_path) ) {
                        $this->err= "上传文件出错";
                        $this->show($this->err);
                }
        }
        //建立目录
        function creatdir($Dir)
        {
                if (is_dir($Dir))
                        return true;
                if (@ mkdir($Dir,0777))
                        return true;
                if (!$this->creatdir(dirname($Dir)))
                         return false;
                return mkdir($Dir,0777);
        }
        //错误提示
        function show($errorstr){
                echo "<script language=javascript>alert(‘$errorstr‘);location=‘javascript:history.go(-1);‘;</script>";
                exit();
        }
}
?> 

超简单的php上传类代码

时间: 2024-12-05 02:38:23

超简单的php上传类代码的相关文章

文件上传类代码(php例子)

这里是来自网络朋友的一个实现的文件上传类代码,我们详细的介绍了每个变量的用处,下面看看吧,有需要可以参考一下. 这里是来自网络朋友的一个实现的文件上传类代码,我们详细的介绍了每个变量的用处,下面看看吧,有需要可以参考一下. <?php教程 /**  * 文件上传类  */ class uploadFile { public $max_size = '1000000';//设置上传文件大小  public $file_name = 'date';//重命名方式代表以时间命名,其他则使用给予的名称 

php之文件上传类代码

/* 单个文件上传 功能 上传文件 配置允许的后缀 配置允许的大小 获取文件后缀 判断文件的后缀 报错 */ class UpTool{ protected $allowExt = 'jpg,jpeg,gif,bmp,png'; protected $maxSize = 1; //1M ,以M为单位 protected $file = null; //准备储存上传文件信息 protected $errno = 0; //错误代码 protected $error = array( 0=>'无错'

ajax结合文件上传类进行多文件的单个上传

今天做项目的时候碰见一个问题:之前一个同事离职之前做了一个网站,有一个上传商品详细图片的功能,当时已经完成,但是由于后期程序的有更改以及更改的程序员的水平也是参差不齐,最后导致程序bug很多,由于当时用的是一个框架,最终也没找到说明文档,后来我就重新写了一个结合ajax上传文件的upload.classs.php虽然界面欠缺美观,但是通俗易懂好维护. //首先是页面. index.php <!DOCTYPE html> <html lang="en"> <

PHP图片上传类

前言 在php开发中,必不可少要用到文件上传,整理封装了一个图片上传的类也还有必要.一.控制器调用 public function upload_file() { if (IS_POST) { if (!empty($_FILES['Filedata'])) { import('Org.Upload', COMMON_PATH); $upload = new \Upload(); // 允许上传文件大小 $upload->allowMaxSize(C('ALLOW_UPLOAD_FILE_MAX

ASP.NET 文件上传类 简单好用

调用: UploadFile uf = new UploadFile(); //参数设置 //uf.SetFilePath="" 设置保存路径,默认为upload //uf.SetFileType=".exe" 设置允许的后缀格式,默认为.pdf,.xls,.xlsx,.doc,.docx,.txt //uf.SetMaxSizeM=100 设置最大上传大小 默认10M //执行保存 uf.Save("file" /*input file 的 n

艾恩ASP无组件上传类(上传组件)说明文档(from www.sysoft.cc)

艾恩ASP无组件上传类(上传组件)说明文档2010-1-18 By Anlige一.简介自从接触ASP就开始接触上传,看过一些上传类,但是总感觉封装的还是不够简单,因此自己尝试写一个能够用最少最简单的代码实现各种上传方式的上传类.在学校期间就开始写,一点点的完善.优化,到现在的版本,现在的版本能适应各种上传方式.上传类的主要的功能如下:1.自由设置最大上传大小.单文件最大上传大小2.自由设置允许上传的文件类型3.可设置文本的编码,以适应各种上传环境4.内置进度条,a用户可选择开启和关闭5.多种错

【.NET】使用WebClient简单的远程上传资源

简介: 由于访问量开始增大,服务器宽带不够用,将访问流量和文件流量都压在同一台服务器,每天都会死一次半次,需要用上CDN,所以文件都需要远程上传到文件服务器,在写上代码,和找了些文章来总结一下,主要使用:WebClient 简单版的WebClient,属于System.Net,属于操作比较简单的请求类,默认是少了head,timeout属性,可以继承HttpWebRequest来实现. 还有其他请求类库,如:HttpWebRequest,HttpClient: 代码实现时,定义了3种情况,但最终

基于 lua-resty-upload 实现简单的文件上传服务

今天了解了一下 lua-resty-upload 模块,并基于 lua-resty-upload 模块简单实现了一个基本的表单文件上传服务. lua-resty-upload 在 github 上的项目地址为: https://github.com/openresty/lua-resty-upload 从实现可以看到,其实 upload 服务的实现还是比较简单的,就一个源文件 lualib/resty/upload.lua,总的代码行数也只有 300 行不到. 下面我整理了一下搭建文件上传服务的

asp无惧上传类2.2上传文件的同时,通过 Request.QueryString将参数传递到保存页面中

先转一段文字,对不对再评论 在后台asp程序中,以前获取表单提交的ASCII 数据,非常的容易.但是如果 需要获取上传的文件,就必须使用Request对象的BinaryRead方法来读取.BinaryRead方法是对当前输入流进行指定字节数的二进制读取,有点需要注意的 是,一旦使用BinaryRead 方法后,再也不能使用Request.Form 或  Request.QueryString 集合了.结合Request对象的TotalBytes属性,可以将 所有表单提交的数据全部变成二进制,不过