Ⅰ thinkphp3.2.3文件上传怎么配置cofig
$config = array('mimes' => array(), //允许上传的文件MiMe类型'maxSize' => 0, //上传的文件大小限制 (0-不做限制)'exts' => array(), //允许上传的文件后缀'autoSub' => true, //自动子目录保存文件'subName' => array('date', 'Y-m-d'), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组'rootPath' => './Uploads/', //保存根路径'savePath' => '', //保存路径'saveName' => array('uniqid', ''), //上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组'saveExt' => '', //文件保存后缀,空则使用原后缀'replace' => false, //存在同名是否覆盖'hash' => true, //是否生成hash编码'callback' => false, //检测文件是否存在回调,如果存在返回文件信息数组'driver' => '', // 文件上传驱动'driverConfig' => array(), // 上传驱动配置);$upload = new \Think\ Upload($config);
Ⅱ thinkphp中文件上传怎么做
//多文件上传以及添加入库 function addok(){ //多文件上传 $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 3145728 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 $upload->rootPath = './'; $upload->savePath = './Public/Uploads/'; // 设置附件上传目录 // 上传文件 $info = $upload->upload(); if(!$info) {// 上传错误提示错误信息 $this->error($upload->getError()); } //print_r($info);die; if($info){ $data=I('post.'); $tu=D('tu'); for($i=0;$i<count($info);$i++){ $image1=$info[$i]['savepath'].$info[$i]['savename']; $img=substr($image1,9); //print_r($image1);die; //缩略图上传 $image = new \Think\Image(); $image->open($image1);// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.jpg $image2="./Public/thumb/".rand().'jpg'; $image->thumb(150, 150)->save($image2); //print_r($image2);die; $img2=substr($image2,9); $data['image']=$img; $data['suo']=$img2; $re=$tu->add($data); } if($re){ $this->success('添加成功',U('list1')); }else{ $this->error('添加失败'); } } }
Ⅲ 如何设置thinkphp上传大文件
1、服务器支持的最大文件大小,就是PHP支持的最大文件大小;2、上传50M,客户端也不可能在短时间上传完毕的,服务器对PHP脚本有执行超时限制,超过该时间服务器会强行中止正在执行的程序,默认是30秒。当然除了直接配置服务器外,也可以通过 ini_set (当服务器禁用此函数时候是无效的) 或 set_time_limit(当PHP运行在安全模式下时此函数无效) 设置。结论:你的这个需求,还得通过服务器才能得到根本解决。
Ⅳ THINKPHP上传大文件问题
楼主,问题解决了吗?我的解决了,我是通过查看php.log文件,看到因为我post提交的数据过大,而被php抛弃了,后来我在php.ini中修改了post提交大小的数值,改成了没有限制,就行了
Ⅳ thinkphp 中upload的subname 不能设置为变量吗
不能,subName,上传文件可以设置二级目录:用$upload->subName = array('date','Y/m/d');这样写就三层了,如果要两层就$upload->subName = array('date','Y/m');ThinkPHP附件上传类UploadFile自定义属性设置说明mport("ORG.Net.UploadFile"); $upload = new UploadFile(); $upload->maxSize = 500*1024 ; $upload->thumb=false; $upload->autoSub=true; $upload->subType="date"; $upload->dateFormat="Ymd"; $upload->saveRule="uniqid"; $upload->allowExts = explode(',','png,jpg,jpeg,gif'); $upload->savePath = C('MYPICTURE_PATH').'/www/tkyouxi/com/'; 上面代码,自动生成子目录。不生成缩略图实例化上传类之后,就可以设置一些上传的属性(参数),支持的属性有:maxSize: 文件上传的最大文件大小(以字节为单位)默认为-1 不限大小savePath:文件保存路径,如果留空会取UPLOAD_PATH常量定义的路径saveRule:上传文件的保存规则,必须是一个无需任何参数的函数名,例如可以是 time、 uniqid com_create_guid 等,但必须能保证生成的文件名是唯一的,默认是uniqidhashType:上传文件的哈希验证方法,默认是md5_fileautoCheck:是否自动检测附件,默认为自动检测uploadReplace:存在同名文件是否是覆盖allowExts:允许上传的文件后缀(留空为不限制),使用数组设置,默认为空数组allowTypes:允许上传的文件类型(留空为不限制),使用数组设置,默认为空数组thumb:是否需要对图片文件进行缩略图处理,默认为falsethumbMaxWidth:缩略图的最大宽度,多个使用逗号分隔thumbMaxHeight:缩略图的最大高度,多个使用逗号分隔thumbPrefix:缩略图的文件前缀,默认为thumb_thumbSuffix:缩略图的文件后缀,默认为空thumbPath:缩略图的保存路径,留空的话取文件上传目录本身thumbFile:指定缩略图的文件名thumbRemoveOrigin:生成缩略图后是否删除原图autoSub:是否使用子目录保存上传文件subType:子目录创建方式,默认为hash,可以设置为hash或者datedateFormat:子目录方式为date的时候指定日期格式hashLevel:子目录保存的层次,默认为一层以上属性都可以直接设置,例如:$upload->thumb = true$upload->thumbMaxWidth = "50,200"$upload->thumbMaxHeight = "50,200"其中生成缩略图功能需要Image类的支持。设置好上传的参数后,就可以调用UploadFile类的upload方法进行附件上传,如果失败,返回false,并且用getErrorMsg方法获取错误提示信息;如果上传成功,可以通过调用getUploadFileInfo方法获取成功上传的附件信息列表。因此getUploadFileInfo方法的返回值是一个数组,其中的每个元素就是上传的附件信息。每个附件信息又是一个记录了下面信息的数组,包括:key:附件上传的表单名称savepath:上传文件的保存路径name:上传文件的原始名称savename:上传文件的保存名称size:上传文件的大小type:上传文件的MIME类型extension:上传文件的后缀类型hash:上传文件的哈希验证字符串文件上传成功后,就可以通过这些附件信息来进行其他的数据存取操作,例如保存到当前数据表或者单独的附件数据表都可以。
Ⅵ 本人新手速求:thinkphp上传视频文件怎么上传
上传大小限制,和上传文件类型做了限制$upload->maxSize = 0 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg','mp4','rmvb');// 设置附件上传类型
Ⅶ thinkPHP3.2.3文件上传类多张图片上传怎么只有第一张图片被上传
可以遍历传过来的FILES数组,然后用循环调用UPLOAD类public function upload(){ $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 2000000 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类 $upload->rootPath = ''./Uploads/'; $upload->savePath = date('Y').'/'.date('m').'/'.date('d').'/'; $upload->subName = array('date', 'H'); $upload->saveName = md5(uniqid()); $info = $upload->upload(); if(!$info) { // 上传错误提示 $this->error($upload->getError()); }else{ // 上传成功 return $info; //$this->success('上传成功!'); } }//调用foreach($_FILES["banner_index"]["size"] as $key=>$val){ if($val>0){ $info=$this->upload(); //判断上传文件大小大于0,调用upload foreach($info as $v){ echo $v["savepath"].$v["savename"]; } } }
Ⅷ thinkphp上传图片如何检验尺寸
用getimagesize方法,如下示例:
HTML页面
<!DOCTYPEhtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>定义inputtype="file"的样式</title><styletype="text/css">body{font-size:14px;}input{vertical-align:middle;margin:0;padding:0}.file-box{position:relative;width:340px}.txt{height:22px;border:1pxsolid#cdcdcd;width:180px;cursor:pointer;}.btn{background-color:#FFF;border:1pxsolid#CDCDCD;height:24px;width:70px;cursor:pointer;}.file{position:absolute;top:0;right:80px;height:24px;filter:alpha(opacity:0);opacity:0;width:260px;cursor:pointer;}</style></head><body><divclass="file-box"><formaction="test.php"method="post"enctype="multipart/form-data"><inputtype='text'name='textfield'id='textfield'class='txt'/><inputtype='button'class='btn'value='浏览…'/><inputtype="file"name="fileField"class="file"id="fileField"size="28"onchange="document.getElementById('textfield').value=this.value"/><inputtype="submit"name="submit"class="btn"value="上传"/></form></div></body></html>
PHP页面:
<?php echo"<pre>"; print_r($_FILES); echo"<br/>"; $size=getimagesize($_FILES['fileField']['tmp_name']); echo"<pre>"; print_r($size);?>
demo效果示意图
第二个输出的数组有你需要的相关数据。
看看是否符合你的需求?若有疑问,欢迎追问!
Ⅸ thinkphp+easyui 如何实现文件上传 最好有参考代码
maxSize: 文件上传的最大文件大小(以字节为单位)默认为-1 不限大小savePath:文件保存路径,如果留空会取UPLOAD_PATH常量定义的路径saveRule:上传文件的保存规则,必须是一个无需任何参数的函数名,例如可以是time、uniqid com_create_guid 等,但必须能保证生成的文件名是唯一的,默认是uniqidhashType:上传文件的哈希扬澶方法,默认是md5_fileautoCheck:是否自动检测附件,默认为自动检测uploadReplace:存再同名文件是否是覆盖