• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > DedeCMS教程 > DedeCMS安装使用 >

修改dedecms织梦图片上传代码

来源: www.dedecms8.com 编辑:织梦吧 时间:2010-08-23点击:

if($dopost=='upload')//上传标识符
{
    $imgHtml = "<center>\r\n";
    $oknum = 0;
    for($i=1; $i <= $totalform; $i++)
    {
        $imgfile = ${'imgfile'.$i};
        if(!is_uploaded_file($imgfile))// 判断文件是否是通过 HTTP POST 上传的
        //如果 filename 所给出的文件是通过 HTTP POST 上传的则返回 TRUE。这可以用来确保恶意的用户无法欺骗脚本去访问本不能访问的文件
        {
            continue;//退出本次循环,进入下一个循环
        }
        else
        {
            $imgfile_name = ${'imgfile'.$i.'_name'};//该写法相当于$_FILES['imgfile1']['name']客户端机器文件的原名称
            $imgfile_type = ${'imgfile'.$i.'_type'};//该写法相当于$_FILES['imgfile1']['type']文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”
        }
    
        if(!eregi("\.(jpg|gif|png|bmp)$",$imgfile_name)) {//判断文件的扩展名
            continue;//退出本次循环,进入下一个循环
        }
    
        $sparr = Array('image/pjpeg','image/jpeg','image/gif','image/png','image/xpng','image/wbmp');


        $imgfile_type = strtolower(trim($imgfile_type));//将文件的MIME类型转换成小写


        if(!in_array($imgfile_type,$sparr)) {//判断是否存在于数组中


            continue;


        }


    


        $nowtme = time();//返回当前的 UNIX 时间戳


        $y = MyDate('ymd',$nowtme);//格式化时间显示为080312


        $filename = $cuserLogin->getUserID().'_'.MyDate('His',$nowtme).'_'.$i;//对文件进行命 名,1_150620_1.gif,格式是:用户名id_当前时间_多个文件的循环变量


        if(!is_dir($cfg_basedir.$cfg_medias_dir."/$y"))


            //判断给定文件名是否是一个目录 $cfg_medias_dir = '/uploads' $cfg_basedir站点根目录


        {


            MkdirAll($cfg_basedir.$cfg_medias_dir."/$y",0777);//这个函数在common.func.php里,作用是建立一个目录


            CloseFtp();


        }


    


        $fs = explode('.',$imgfile_name);//取文件扩展名


        if(eregi("php|asp|pl|shtml|jsp|cgi",$fs[count($fs)-1])) {//eregi不区分大小写的正则表达式匹配


            continue;


        }


    


        $bfilename = $cfg_medias_dir."/$y/".$filename.".".$fs[count($fs)-1];//文件名和路径


        $litfilename = $cfg_medias_dir."/$y/".$filename."_lit.".$fs[count($fs)-1];//略缩图文件名和路径


        $dbbigfile = $filename.".".$fs[count($fs)-1];//插入数据库大图的文件名


        $dblitfile = $filename."_lit.".$fs[count($fs)-1];//插入数据库略缩图的文件名


        $fullfilename = $cfg_basedir.$bfilename;//完整路径


        $full_litfilename = $cfg_basedir.$litfilename;//略缩图完整路径


    


        if(file_exists($fullfilename)) {


            ShowMsg("本目录已经存在同名的文件,请更改!","-1");

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ