PHPCMS其实有一个叫做附件的模块,上传用的就是这个东西,现在我们来看一下对应的文件:phpcms\modules\attachment \attachments.php就是这个文件,大概在29行上(我用的PHPCMS版本号是Phpcms V9.5.8 Release 20140929)有下面一个方法:

public function upload() {
$grouplist = getcache('grouplist','member'); //获取缓存中身份分组的列表
if($this->isadmin==0 && !$grouplist[$this->groupid]['allowattachment']) return false; //判断是否允许上传附件
pc_base::load_sys_class('attachment','',0); //加载attachment类
$module = trim($_GET['module']); //通过get方式获取模型
$catid = intval($_GET['catid']); //通过get方式获取catid
$siteid = $this->get_siteid(); //获取站点ID
$site_setting = get_site_setting($siteid); //获取站点配置信息,这个函数在此模块中的公共函数global.func.php中可以找到
$site_allowext = $site_setting['upload_allowext']; //获取到允许的上传文件类型
$attachment = new attachment($module,$catid,$siteid); //实例化attachment类,就是上面刚刚提到的加载进来的类
$attachment->set_userid($this->userid); //调用attachment类的set_userid函数,确定是哪个用户上传的。
$a = $attachment->upload('upload',$site_allowext); //上传文件,具体的函数请查看attachment类。
if($a){ //下面这些就是上传成功后的一些路径和文件名什么的了~
$filepath = $attachment->uploadedfiles[0]['filepath'];
$fn = intval($_GET['CKEditorFuncNum']);
$this->upload_json($a[0],$filepath,$attachment->uploadedfiles[0]['filename']);
$attachment->mkhtml($fn,$this->upload_url.$filepath,'');
}
}

以上应该解释的比较详细了,不懂的话可以自己看一下对应的文件,好了现在我们来看前端:

<form method="post" enctype="multipart/form-data" action="/index.php?m=attachment&c=attachments&a=upload" id="uploadload" target="iframelogo">
<input type="file" class="uploadtxt" name="upload" /><input type="submit" value="dianji" />
</form>

这个就是上传用的~注意调用的action的路径就好了~再就是这里的<input type=file name="upload">的name属性必须为upload否则无法上传成功,因为在attachment类中定死了上传的name属性,所以 这里只能用这个了~

转载:http://www.cnblogs.com/woshikay/p/4329912.html

phpcms前端页面上传文件的更多相关文章

  1. 前端js上传文件 到后端接收文件

    下面是前端js代码: <html> <head> <meta http-equiv="Content-Type" content="text ...

  2. ASP.NET页面上传文件时提示文件大小超过请求解决方法

    在webconfig中节点 <system.web> </system.web> 下加入以下代码:maxRequestLength为限制上传文件大小,executionTime ...

  3. asp.net 页面上传文件控件后台代码Request.Files获取不到

    今天开发中遇到页面文件上传控件选择了文件,而后台Request.Files.Count取值为0,之前开发中遇到过几次,老是忘掉,今天记下来. html: <input type="fi ...

  4. 前端js上传文件后端C#接收文件

    本文粗略的讲下前端文件上传和后端文件接收的原理 前端代码 html <form onsubmit="uploadFile(event)"> <input type ...

  5. 前端js上传文件插件

    1. plupload文件上传 2.ajaxfileupload文件上传

  6. UI自动化页面需要选择上传文件

    UI自动化页面上传文件,百度查的时候说有4中方法,简便的方法是安装SendKeys,但是百度说这个只支持python2.7的 我的python版本是3.7的,目前还只碰到了非<input typ ...

  7. 基于Flask开发网站 -- 前端Ajax异步上传文件到后台

    大家好,我是辰哥~ 辰哥最近利用空闲时间在写一个在线可视化平台,过程中也觉得一些技术还是比较有意思的,所以就以模块化的形式分享出来.如:从网页界面(前端)上传文件到服务器(后端). 放一下该模块的界面 ...

  8. springboot(十七):使用Spring Boot上传文件

    上传文件是互联网中常常应用的场景之一,最典型的情况就是上传头像等,今天就带着带着大家做一个Spring Boot上传文件的小案例. 1.pom包配置 我们使用Spring Boot最新版本1.5.9. ...

  9. (转)Spring Boot(十七):使用 Spring Boot 上传文件

    http://www.ityouknow.com/springboot/2018/01/12/spring-boot-upload-file.html 上传文件是互联网中常常应用的场景之一,最典型的情 ...

随机推荐

  1. 已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)

    操作SQLServer数据库时.遇到这种问题:已超过了锁请求超时时段. (Microsoft SQL Server,错误: 1222) 经过查找材料了解为资源抢占,照成死锁,杀死进程就OK了.详细操作 ...

  2. [Effective C++ --022]将成员变量声明为private

    这一章并没有什么太多的内容,作者无非想告诉我们一件事:成员变量应该是private. 为此,他列举了以下的理由: 1.成员函数来返回成员变量是非常高效: 2.protected成员变量并不比publi ...

  3. 文件和目录之access函数

    本篇博文内容摘自<UNIX环境高级编程>(第二版),仅作个人学习记录所用.关于本书可参考:http://www.apuebook.com/. 当用open函数打开一个文件时,内核以进程的有 ...

  4. Android 断点续传

    断点续传指的是在下载或上传时,将下载或上传任务(一个文件或一个压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传或下载,如果碰到网络故障,可以从已经上传或下载的部分开始继续上传下载未完成的部 ...

  5. NSURLSession 请求

    参考网站:http://ningandjiao.iteye.com/blog/2010753 http://www.cocoachina.com/industry/20131106/7304.html ...

  6. opencv中的基本拼接

    普通版的图像拼接,事实上非常简单并且效果不很差. 实现方式: 新建工程: 去opencv里面[f:\opencv249\opencv\sources\samples\cpp]把stitching.cp ...

  7. CentOS7 发布 ASP.NET MVC 4 --- mono 4.6.0 + jexus 5.8.1

    yum -y install gcc gcc-c++ yum -y install bison pkgconfig glib2-devel gettext make libpng-devel libj ...

  8. centos安装crontab:

    # yum install vixie-cron # yum install crontabs /sbin/service crond start //启动服务/sbin/service crond ...

  9. jmeter接口测试之登录测试

    注册登录_登陆接口文档 1.登录 请求地址: POST   xxxxxx/Home/Login 请求参数: args={ LoginName:"mtest", // 登录名,可以为 ...

  10. Linux系统下安装ISO文件

    1.在/mnt目录下,创建相应的iso文件夹,例如cd1,cd2. 2.然后,用命令:mount -o loop /home/kinglu/Matlab/matlab1.iso(iso文件路径名) / ...