日星网 windows 中文论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 452|回复: 0

WordPress中uploads目录替换为SAE的Storage方法

[复制链接]
发表于 2015-11-17 06:33:22 | 显示全部楼层 |阅读模式
一, 在Storage中建好一个叫wordpress的domain 在SAE上创建应用,安装WordPress for SAE版本的时候会提示要先在Storage中建个wordpress的domain。

二, 在应用的根目录,创建sae.php文件
        1).先用svn的工具TortoiseSVN把应用的代码全部checkout到本地。
        2).在应用的根目录,创建sae.php文件
  1. 代码如下:
  2. <?php
  3. /* 在SAE的Storage中新建的Domain名,比如“wordpress”*/
  4. define('SAE_STORAGE',wordpress);
  5. /* 设置文件上传的路径和文件路径的URL,不要更改 */
  6. define('SAE_DIR', 'saestor://'.SAE_STORAGE.'/uploads');
  7. define('SAE_URL', 'http://'.$_SERVER['HTTP_APPNAME'].'-'.SAE_STORAGE.'.stor.sinaapp.com/uploads');
  8. ?>
复制代码


三, 修改wp-includes/functions.php文件
1).
  1. require( ABSPATH . WPINC . '/option.php' );
复制代码

前添加一行:
  1. include( ABSPATH . '/sae.php' ); //调用SAE的Storage文件域名设置 //for SAE
复制代码

2).注释掉如下代码,
  1. /*** Step 1: include sae.php ***/
  2. include( ABSPATH . '/sae.php' );      //添加这一行。调用SAE的Storage文件域名设置
  3. require( ABSPATH . WPINC . '/option.php' );
  4. 前添加

  5. /*** Step 2: 替换代码 ***/
  6. /*   
  7. $wrapper = null;

  8. // Strip the protocol.
  9. if (wp_is_stream ( $target )) {
  10.     list ( $wrapper, $target ) = explode ( '://', $target, 2 );
  11. }

  12. // From php.net/mkdir user contributed notes.
  13. $target = str_replace ( '//', '/', $target );

  14. // Put the wrapper back on the target.
  15. if ($wrapper !== null) {
  16.     $target = $wrapper . '://' . $target;
  17. }
  18. */

  19. //替换为以下代码
  20. // from php.net/mkdir user contributed notes
  21. if (substr ( $target, 0, 10 ) == 'saestor://') {
  22.     return true;
  23. }
  24. $target = str_replace ( '//', '/', $target );

  25. /*** Step 3: 添加代码 ***/
  26. $dir = SAE_DIR; //添加这一行
  27. $url = SAE_URL; //添加这一行
  28. $basedir = $dir;

  29. /*** Step 4: 添加代码 ***/
  30. //添加如下代码块
  31. if ( !function_exists('utf8_encode') ) {
  32.     function utf8_encode($str) {
  33.         $encoding_in = mb_detect_encoding($str);
  34.         return mb_convert_encoding($str, 'UTF-8', $encoding_in);
  35.     }
  36. }

  37. //在这前面添加上述代码
  38. /**
  39. * Send a HTTP header to limit rendering of pages to same origin iframes.
  40. *
  41. * @since 3.1.3
  42. *
  43. * @see https://developer.mozilla.org/en/the_x-frame-options_response_header
  44. */
复制代码


四, 修改wp-admin/includes/file.php

  1. /*** 注释如下代码 ***/
  2. // Set correct file permissions.
  3. $stat = stat ( dirname ( $new_file ) );
  4. $perms = $stat ['mode'] & 0000666;
  5. @ chmod ( $new_file, $perms );
复制代码


您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

手机版|小黑屋|日星网 ( 黑ICP备07001742号 )

GMT, 2018-11-19 07:03 AM , Processed in 0.016957 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表