最近在做一个程序,需要用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']);
}
}
相关文章
修改PHP上传文件大小限制的方法2019-11-16
Html调用PHP以及PHP 输出的写法2015-10-29
Apmserv session错误及进不了后台的解决办法2013-12-20
php 等于不等于 一个感叹号两个等于号2013-12-06
php生成.url快捷方式2013-11-29
header("Location:")应该注意的几个问题2013-10-15
Access导入MySql的PHP程序2013-09-04
Fatal error: session_start() 错误的解决办法2013-08-26
php中html模板生成后顶部空白的解决方案2013-08-19
PHP定时执行任务的实现2013-05-07