昨天晚上和今天上午都在研究这一个问题:用户更新主题后如何保证用户自己上传的logo不会被覆盖?
逻辑大概是这样:
有两张图,一张主题自带的备用logo图片,一张用户安装主题后自行上传的logo图片。主题初始模式下不存在用户上传的logo图片,那么就可以判断了。
如果用户上传的logo图片不存在,则显示主题自带的备用logo图片;反之如果用户上传的logo图片存在,则直接显示用户上传的logo图片。
好,那么就开始用搜索php判断文件是否存在的代码,搜来搜去看了好多,头疼...
最后信心发给我了一段代码,我一边看代码一边搜索此段代码的意思,最后终于弄懂并且搞成功了。
define( 'tx_qiye7_THIS','tx_qiye7');//tx_qiye7为主题id
define( 'tx_qiye7_ROOT_DIR',plugin_dir_path(tx_qiye7_THIS));//获取文件所在的物理路径
define( 'tx_qiye7_ROOT_URL',plugin_dir_url(tx_qiye7_THIS));//获取文件所在的目录url
function tx_qiye7_Get_Logo($name='logo',$type='png'){ //定义函数
$path = tx_qiye7_ROOT_DIR.'tx_qiye7/include/'.$name.'.'.$type;//定义用户上传logo文件
if (file_exists($path)){//检查用户上传的logo文件是否存在
echo tx_qiye7_ROOT_URL.'tx_qiye7/include/'.$name.'.'.$type;//存在则输出用户上传的logo文件
}else{
echo tx_qiye7_ROOT_URL.'tx_qiye7/include/'.$name.'_tx.'.$type;//不存在则输出主题定义的备用logo文件
}
}
ps:其中“plugin_dir_path“和”plugin_dir_url”都是zblogphp自带的函数。
折腾玩了发现php和js语法什么的都有点像...先好好学js吧,学完再去看php!