PHP UploadFile()无法上传图片的原因

2014-04-10 浏览:1944
PHP UploadFile()无法上传图片的原因
评论:(0)复制地址

最近在做一个程序,需要用UploadFile函数上传图片,数据库能写入,但是图片总是上传不成功,查找众多资料后,终于找到原因,需要在form中加入 enctype="multipart/form-data"

前台模板文件:

<form id="store_form" method="post" enctype="multipart/form-data">

<span class="type-file-show"><img class="show_image" src="<?php echo TEMPLATES_PATH;?>/images/preview.png">
            <div class="type-file-preview"><img src="<?php echo SiteUrl.'/'.(ATTACH_PATH.DS.'ad'.DS.$output['store_array']['shopad']);?>" width="90" height="90"></div>
            </span>
          <span class="type-file-box"><input type='text' name='textfield' id='textfield1' class='type-file-text' /><input type='button' name='button' id='button1' value='' class='type-file-button' />
            <input name="shopad" type="file" class="type-file-file" id="shopad" size="30" hidefocus="true" nc_type="change_shopad">
            </span>

</form>

PHP处理代码:

if (chksubmit()){
   
   /**
    * 上传图片
    */
   $upload = new UploadFile();
   $upload->set('default_dir',ATTACH_PATH.'/ad');
   /**
    * 取店铺等级的审核
    */
   $model_grade = Model('store_grade');
   $grade_array = $model_grade->getOneGrade(intval($_POST['grade_id']));
   if (empty($grade_array)){
    showMessage($lang['please_input_store_level']);
   }
   /**
    * 上传店铺广告图片
    */
   if (!empty($_FILES['shopad']['name'])){
    $upload = new UploadFile();
    $upload->set('default_dir',ATTACH_PATH.'/ad');
    $result = $upload->upfile('shopad');
    if ($result){
     $_POST['shopad'] = $upload->file_name;
    }else {
     showMessage($upload->error,'','','error');
    }
   }
   /**
    * 结束时间
    */
   $time = '';
   if(trim($_POST['end_time']) != ''){
    $time = strtotime($_POST['end_time']);
   }
   $update_array = array();
   $update_array['store_id'] = intval($_POST['store_id']);
   $update_array['store_owner_card'] = trim($_POST['store_owner_card']);
   $update_array['store_name'] = trim($_POST['store_name']);
   $update_array['sc_id'] = intval($_POST['sc_id']);
   $update_array['area_id'] = intval($_POST['area_id']);
   $update_array['area_info'] = trim($_POST['area_info']);
   $update_array['store_address'] = trim($_POST['store_address']);
   $update_array['store_zip'] = trim($_POST['store_zip']);
   $update_array['store_tel'] = trim($_POST['store_tel']);
   $update_array['grade_id'] = intval($_POST['grade_id']);
   $update_array['store_end_time'] = $time;
   $update_array['store_state'] = intval($_POST['store_state']);
   $store_info = $model_store->shopStore(array('store_name'=>$update_array['store_name']));
   if($store_info['store_id'] > 0 && $store_info['store_id'] != $update_array['store_id']) {//检查店铺名称是否存在
    showMessage($lang['store_name_exists']);
   }
   if ($_POST['store_state'] == '0'){
    /**
     * 根据店铺状态修改该店铺所有商品状态
     */
    $model_goods = Model('goods');
    $model_goods->updateGoodsStoreStateByStoreId($update_array['store_id'], 'close');
    $update_array['store_close_info'] = trim($_POST['store_close_info']);
    $update_array['store_recommend'] = 0;
   }else {
    /**
     * 店铺开启后商品不在自动上架,需要手动操作
     */
    $update_array['store_close_info'] = '';
    $update_array['store_recommend'] = intval($_POST['store_recommend']);
   }
   $update_array['name_auth'] = intval($_POST['name_auth']);
   $update_array['store_auth'] = intval($_POST['store_auth']);
   $update_array['store_sort'] = intval($_POST['store_sort']);
   if (!empty($_POST['shopad'])){
    $update_array['shopad'] = $_POST['shopad'];
   }
   $result = $model_store->storeUpdate($update_array);
   if ($result){
    
    /**
     * 判断有没有之前的图片,如果有则删除
     */
    if (!empty($_POST['shopad']) && !empty($_POST['shopad'])){
     @unlink(BasePath.DS.ATTACH_COMMON.DS.$_POST['shopad']);
    }
    //站内短信息通知
    if ($_POST['store_state'] == 0){
     //获取店铺信息
     $store_info = $model_store->shopStore(array(
      'store_id'=>$_POST['store_id']
     ));
     //管理员关闭店铺
     //向店主发送关闭通知消息
     $msg_code = 'msg_toseller_store_closed_notify';
     //内容
     $param = array('reason'=>$_POST['store_close_info']);
     self::send_notice($store_info['member_id'],$msg_code,$param);
    }
    $url = array(
    array(
    'url'=>'index.php?act=store&op=store',
    'msg'=>$lang['back_store_list'],
    ),
    array(
    'url'=>'index.php?act=store&op=store_edit&store_id='.intval($_POST['store_id']),
    'msg'=>$lang['countinue_add_store'],
    ),
    );
    showMessage($lang['update_store_ok'],$url);
   }else {
    showMessage($lang['update_fail_fail']);
   }
  }

 

评论:(0)复制地址

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。