/** * 上传图片的缩略图 * @param $metadata * @return array */ function upload_thumbs($metadata) { //上传所有缩略图 if (isset($metadata['sizes']) && count($metadata['sizes']) > 0) { //获取OSS插件的配置信息 $oss_options = get_option('oss_options', TRUE); //是否需要上传缩略图 $nothumb = attribute_escape($oss_options['nothumb']) == 'true'; //是否需要删除本地文件 $is_delete_local_file = attribute_escape($oss_options['nolocalsaving']) == 'true'; //如果禁止上传缩略图,就不用继续执行了 if ($nothumb) { return $metadata; } //获取上传路径 $wp_uploads = wp_upload_dir(); //得到本地文件夹和远端文件夹 $file_path = $wp_uploads['path'] . '/'; if (get_option('upload_path') == '.') { $file_path = str_replace("./", '', $file_path); } $object_path = str_replace(get_home_path(), '', $file_path); //there may be duplicated filenames,so .... foreach ($metadata['sizes'] as $val) { //生成object在OSS中的存储路径 $object = $object_path . $val['file']; //生成本地存储路径 $file = $file_path . $val['file']; //设置可选参数 $opt = array('Content-Type' => $val['mime-type']); //执行上传操作 _file_upload($object, $file, $opt); //_logged('2thumb.txt',"object=$object;file=$file"); //如果不在本地保存,则删除 if ($is_delete_local_file) { _delete_local_file($file); } } } return $metadata; }
/** * 上传图片的缩略图 */ function upload_thumbs($metadata) { //上传所有缩略图 if (isset($metadata['sizes']) && count($metadata['sizes']) > 0) { //获取COS插件的配置信息 $cos_options = get_option('cos_options', TRUE); //是否需要上传缩略图 $nothumb = esc_attr($cos_options['nothumb']) == 'true'; //是否需要删除本地文件 $is_delete_local_file = esc_attr($cos_options['nolocalsaving']) == 'true'; //如果禁止上传缩略图,就不用继续执行了 if ($nothumb) { return $metadata; } //获取上传路径 $wp_uploads = wp_upload_dir(); $basedir = $wp_uploads['basedir']; $file_dir = $metadata['file']; //得到本地文件夹和远端文件夹 $file_path = $basedir . '/' . dirname($file_dir) . '/'; if (get_option('upload_path') == '.') { $file_path = str_replace("\\", '/', $file_path); $file_path = str_replace(get_home_path() . "./", '', $file_path); } else { $file_path = str_replace("\\", '/', $file_path); } $object_path = str_replace(get_home_path(), '', $file_path); //there may be duplicated filenames,so .... foreach ($metadata['sizes'] as $val) { //生成object在COS中的存储路径 $object = '/' . $object_path . $val['file']; //生成本地存储路径 $file = $file_path . $val['file']; //设置可选参数 $opt = array('Content-Type' => $val['mime-type']); //执行上传操作 _file_upload($object, $file, $opt); //如果不在本地保存,则删除 if ($is_delete_local_file) { _delete_local_file($file); } } } return $metadata; }