类似微博发布,将用户发布的信息包括批量上传的图片插入的一张数据表里面
分表效率是很高,但是公司数据库就是设计在一张表里面的
这是两张表


这是公司的表

这是部分上传代码,有点长,希望能解答一下,或者给个思路,如果愿意指教一下的话。。 965584429 我qq,必有感谢!
public function upload($files, $setting, $driver = 'local', $config = null){
/* 上传文件 */
$setting['callback'] = array($this, 'isFile');
$setting['removeTrash'] = array($this, 'removeTrash');
$Upload = new Upload($setting, $driver, $config);
foreach ($files as $key => $file) {
$ext = strtolower($file['ext']);
if(in_array($ext, array('jpg','jpeg','bmp','png'))){
hook('dealPicture',$file['tmp_name']);
}
}
$info = $Upload->upload($files);
if($info){ //文件上传成功,记录文件信息
foreach ($info as $key => &$value) {
/* 已经存在文件记录 */
if(isset($value['id']) && is_numeric($value['id'])){
continue;
}
/* 记录文件信息 */
if(strtolower($driver)=='sae'){
$value['path'] = $config['rootPath'].'Picture/'.$value['savepath'].$value['savename']; //在模板里的url路径
}else{
if(strtolower($driver) != 'local'){
$value['path'] =$value['url'];
}
else{
$value['path'] = (substr($setting['rootPath'], 1).$value['savepath'].$value['savename']); //在模板里的url路径
}
}
$value['type'] = $driver;
if($this->create($value) && ($id = $this->add())){
$value['id'] = $id;
} else {
//TODO: 文件上传成功,但是记录文件信息失败,需记录日志
unset($info[$key]);
}
}
foreach($info as &$t_info){
if($t_info['type'] =='local'){
$t_info['path']=get_pic_src($t_info['path']);
}
else{
$t_info['path']=$t_info['path'];
}
}
return $info; //文件上传成功
} else {
$this->error = $Upload->getError();
return false;
}
}目前我的疑惑是如何指定表插入数据,tp好像是根据Model命名和M('')来指定表名的,但是我修改后也没有效果这是opensns 的源码,打算二次开发
最佳答案