新浪sae平台wordpress中Buddypress插件上传头像问题
2013-11-04 15:05
513 查看
快毕业了,想给班级做个基于wordpress的博客放在SAE平台,想着大家参与方便,于是下了个buddyrpess插件。
插件装好了在SAE上用着看是没什么问题。试着创建个群组,第二步上传头像的时候问题来了。
图片怎么也裁切不了。点击裁切图片一直提示:There was a problem cropping the avatar.
搜索找到这个提示在bp-groups-screens.php文件里面的652行,bp_core_avatar_handle_crop( $args )函数调用后返回失败。
这个函数在bp-core-avatars.php文件里面,发现这个函数执行到 “if ( !file_exists( $avatar_folder_dir ) )” 这里文件不存在,返回false。直接注释掉,提交代码再次上传,提示图片上传成功。可以刷新页面,头像确实没变。
于是到storage里面检查,文件确实存在。
想想,去主题的模板找头像输出的函数,找到<div id="item-header-avatar">下面的<?php bp_displayed_user_avatar( 'type=full' ); ?>。一路跟着bp_displayed_user_avatar()函数,找到bp-core-avatars.php文件的287行
就是这段的问题了。
做了一下修改。
上传代码,浏览页面,图片显示正常了。
插件装好了在SAE上用着看是没什么问题。试着创建个群组,第二步上传头像的时候问题来了。
图片怎么也裁切不了。点击裁切图片一直提示:There was a problem cropping the avatar.
搜索找到这个提示在bp-groups-screens.php文件里面的652行,bp_core_avatar_handle_crop( $args )函数调用后返回失败。
这个函数在bp-core-avatars.php文件里面,发现这个函数执行到 “if ( !file_exists( $avatar_folder_dir ) )” 这里文件不存在,返回false。直接注释掉,提交代码再次上传,提示图片上传成功。可以刷新页面,头像确实没变。
于是到storage里面检查,文件确实存在。
想想,去主题的模板找头像输出的函数,找到<div id="item-header-avatar">下面的<?php bp_displayed_user_avatar( 'type=full' ); ?>。一路跟着bp_displayed_user_avatar()函数,找到bp-core-avatars.php文件的287行
// Check for directory if (file_exists( $avatar_folder_dir )) { // Open directory if ($av_dir = opendir( $avatar_folder_dir )) {
就是这段的问题了。
做了一下修改。
// Check for directory if ( /*file_exists( $avatar_folder_dir )*/ true) { // Open directory if (/* $av_dir = opendir( $avatar_folder_dir ) */true) { /* // Stash files in an array once to check for one that matches $avatar_files = array(); while ( false !== ( $avatar_file = readdir( $av_dir ) ) ) { // Only add files to the array (skip directories) if ( 2 < strlen( $avatar_file ) ) { $avatar_files[] = $avatar_file; } echo '<script type="text/javascript">alert("'.$avatar_file.'");</script>'; } */ $storage = new SaeStorage(); $avatar_files = array(); $avatar_folder_dir=str_replace('saestor://wordpress/','',$avatar_folder_dir); $avatar_files=$storage->getList('wordpress',$avatar_folder_dir); // Check for array if ( 0 < count( $avatar_files ) ) { // Check for current avatar foreach( $avatar_files as $key => $value ) { if ( strpos ( $value, $avatar_size )!== false ) { $temp_avatar_filename=substr($avatar_files[$key],1+strrpos($avatar_files[$key],'/')); $avatar_url = $avatar_folder_url . '/' . $temp_avatar_filename; /*echo '<script type="text/javascript">alert("'.$avatar_files[$key].'");</script>';*/ } }
上传代码,浏览页面,图片显示正常了。
相关文章推荐
- 【转】百度腾讯阿里,其大数据优劣势与策略分析
- linux-关闭文件
- 模板方法模式
- String.Format用法
- android签名详解
- 直线分割圆-公式递推
- 常用正则表达式
- Unable to resolve target
- java6的优点
- rhel 6.0 配置 yum 本地源
- 黑马程序员---回顾之java IO流
- java中的atoi
- 三层架构的理解
- http://www.javaeye.com/topic/38224
- $_SERVER['SCRIPT_FILENAME']j和__FILE__ 的区别
- $_SERVER['SCRIPT_FILENAME']j和__FILE__ 的区别
- C文件
- linux下如何使用sftp命令进行文件上传和下载
- 不用大小写 写个宏定义求大数
- 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?