刚发现个问题,zblog的Access数据库转MySQL数据库后附件日期都变成1970-01-01了
处理过程:
一、为保险起先备份数据表zbp_upload
具体在phpMyAdmin中(比较复杂,由于后边还需用到Navicat,所以直接在Navicat中完成所有操作)
1、在左侧表中点开zbp_upload
2、在右窗口上方菜单中点“操作”
3、在“表选项”功能块,“将表改名为”后输入新名称如zbp_uploadback,然后“执行”
4、在“将表复制到(数据库名.表名):”下的输入框中输入新的表名,选择“只结构”,然后“执行”
一个新的与zbp_upload同结构的表产生了,用第3步的方法将新表改名为zbp_upload
5、将zbp_upload的ul_potsttime字段的类型改成varchar(255),足够长就可以。
以上操作在Navicat for MySQL中可以通过复制zbp_upload表得到zbp_upload_copy表,然后将zbp_upload表清空,修改ul_posttime字段类型为varchar(50)即可。
二、接着利用Navicat for MySQL将Access库中的blog_upload表导入mysql的zbp_upload表,注意字段的对应,ul_id,ul_authorid,ul_posttime两个表一致会自动对应,其它字段需手动对应ul_filesize--->ul_size,ul_filename--->ul_name,ul_downnum--->ul_downnums。
三、导入成功后新建查询,update zbp_upload set ul_posttime=UNIX_TIMESTAMP(ul_posttime),将日期转换为时间戳。
通过以上操作zbp_upload表就完全正确了,但进入zblog 附件管理后又发现个问题:单数月份上传的附件链接地址不正确,如2015年7月上传的附件本是存在了zb_users/upload/2015/7文件夹下,但附件管理给的图片链接是zb_users/upload/2015/07,月前多了个0。
处理方法:
修改zb_system/function/lib/upload.php文件,查找“date('m',$this->PostTime)”,将其修改为“str_replace('0', '', date('m',$this->PostTime))”
评论
MrDuan
回复即日起将原来一位数的月份文件夹中的文件全部移入补0的两位数月份文件夹中,恢复upload.php原程序