导航:首页 > 编程语言 > phpsaestorage

phpsaestorage

发布时间:2022-11-18 14:04:49

1. SAE上传本地文件到storage,php

这个是做不到的
举个例子,假如一个url就可实现文件上传
那么可以随意枚举访问者本地文件,进行上传了
这有悖于网络安全
比如,只要访问网站首页,就会默认把这个文件上传,会有很多人中招的
C:\Users\Administrator\Desktop\1.jpg

2. SAE的云存储类

●MySQL:MySQL是SAE上的MySQL服务和普通MySQL服务几乎一样,所以如果你已经熟悉了MySQL的常规使用的话,会感到很简单。
SAE平台为每个App几乎支持所有的MySQL特性,以方便您用习惯的方式来操作数据库。需要注意的是SAE的MySQL 数据库服务需要显式开启或禁用。开启MySQL数据库服务后,您不但可以通过phpmyadmin来创建数据库和数据表,还可以自由地导入导出数据库中的数据。SAE的PHP环境提供了标准的MYSQL,MYSQLI和PDO模块(基于MySQLnd),您可以直接使用这三个模块来操作您的数据库, 您还可以使用预定义常量来连接数据库,我们也不排除未来调整数据库端口的可能。另外SAE也提供了SaeMysql类,我们推荐您使用这个类来操作MySQL资源。MySQL还可以通过授权的方式支持跨应用调用,从而达到应用间数据共享和单应用多数据库管理等目的。同时,为了防止个别用户的攻击和滥用,SAE还设置了服务限制和配额,保证绝大多数开发者在公有云平台上的正常使用。
●Storage:Storage是SAE为开发者提供的分布式文件存储服务,用来存放用户的持久化存储的文件。
Storage是SAE为开发者提供的分布式文件存储服务,可以用来存储持久化的文件。使用该服务用户需要先在在线管理平台创建Domain(相当于一级子目录),创建完毕后即可在Storage进行文件的管理。 用户可以通过两种方式操作其中的数据:一是通过cyberck将用户文件上传至Storage存储中,然后通过在线管理平台将该文件导入到MySQL中;二是通过sae_std_lib下的SaeStor的API进行文件的读写操作。因为SAE平台限制使用本地IO,所以强烈建议开发者将所有需要持久化的文件操作都通过Storage实现。
●Memcache:Memcache是SAE为开发者提供的分布式缓存服务,用来以共享的方式缓存用户的小数据。
用户首先需要在在线管理平台上创建Memcache,然后通过标准的memcache*函数读写Memcache。使用Memcache服务不仅可以快速进行数据响应,而且可以减轻后端存储的压力。
●KVDB:KVDB是SAE开发的分布式key-value数据存储服务,用来支持公有云计算平台上的海量key-value存储。
KVDB支持的存储容量很大,对每个用户支持100G的存储空间,可存储10亿条记录,用户可用来存放如好友关系等简单数据。 另外,KVDB的性能和可靠性都很高,据我们内部测试,读写均可达到10w gps,而且KVDB采用一主多从的分布式架构,支持KVDB的热备和定期冷备,发生宕机时还可以自动切换到正常工作的DB上。
●Counter:Counter是SAE为开发者提供的计数器服务,用来实现高并发情景下的计数功能。
Counter是SAE为开发者提供的计数器服务,用来实现高并发情景下的计数功能。用户可以在控制面板或程序中创建计数器,通过SaeCounter的API对计数器进行加减和统计设置。 Counter简化了计数应用的开发,开发者可以轻松实现高并发情景下的计数功能(如兔年春晚投票、广告渠道访问计数等应用),同时还可以使用Counter的统计功能轻松实现数据汇总。
●Rank:Rank排行榜服务是SAE开发的用于在分布式环境下统计排名的服务。
Rank服务是SAE开发的用于分布式环境下的统计排名服务,允许每个用户建立多个排行榜,其中每个排行榜都支持类似key-value的键值对操作。用户不仅可以以O(logn)的时间复杂度获取指定key的排名,还可以获取到前N名的列表(时间复杂度为O(n))。排行榜服务的特点是可靠、快速,可以用于实时排名(如游戏积分排名、软件下载排名),同时排行榜支持过期时间设置,这样方便进行周排名和月排名。另外,使用排行榜服务无需通过控制面板开通或关闭,可以直接使用排行榜API操作。 特别注意:Rank服务并不存放用户的所有数据,只以一定比率的冗余存放TopN的数据,这样带来一个影响,就是如果数据存在激增/减的话,可能影响排名结果的准确性。为了保证激增导致的数据准确性问题,可以定期从数据重新导入新的准确数据。

3. 如何通过Storage 取文件

sae既然封装了存储路径 而且这个路径还不在主机服务器上 你就不能直接用http协议直接访问storage中的文件 但是你可以通过一个php页面把storage中的文件读出来在发送给前端

4. 修改PHP程序,index.phpcat=1 这种,加一个index.phplan=0,加个lan参数怎么加

问题不太明白,不过感觉你可以先通过GET方式获取到cat和lan两个参数的值,然后再在数据库里做查询(如果数据库里没有lan字段,估计你要加一个了),不知道你用的是不是mvc框架,如果是mvc框架,你可以把参数获取到控制层里,如果不是mvc框架,直接GET到index.php里再做判断、查询,应该就可以了

5. 如何使用SAE的Storage

1以下是图片上传代码:

<form method="post" enctype="multipart/form-data" action=" ">

<input name="photo" type="file" style="cursor:pointer;"/>

<input type="submit" value="提交" name="import"
style="cursor:pointer;"/> </form>

2接受处理:

$s2 = new SaeStorage();

$name_b =$_FILES['photo']['name'];

$url =
$s2->upload('photo',$name_b,$_FILES['photo']['tmp_name']);//此处的photo为你的storage域名,可以自定义

echo $url;

此处得到的$url即为你上传图片在sae的storage中的url地址。

3url并调用微博api发布图片微博:

$c = new SaeTClientV2( WB_AKEY , WB_SKEY ,
$_SESSION['oauth2']['oauth_token']);

$ret = $c->upload_url_text( $text,$url); //发送微博

if ( isset($ret['error_code']) && $ret['error_code'] > 0 ) {

echo "<p>发送失败,错误:{$ret['error_code']}:{$ret['error']}</p>";

} else {

echo "<p>发送成功</p>";

}

此处为利用新浪微博sdk发布带有图片的微博,需要注意的是upload_url_text接口需要申请高级权限才可以使用。不过简单描述一下申请理由一般都会申请成功的哦。

至此,你已经将storage中的图片发布到微博上了。

6. thinkphp sae 怎么配置,现在不生成缓存

Sae上出于安全考虑禁用了文件读写操作的权限,所以不能生成缓存文件,就算上传文件的写入操作也要使用Sae上的Storage,但这不影响thinkphp在sae下的运行,thinkphp会自动识别是Sae环境,,并以Sae模式运行,缓存将不再以文件形式保存,都将存入Memcache中。所以在Sae上运行的thinkphp项目都必须开启Memcache服务才能运行

7. thinkphp3.2.3 部署在sae上怎么使用SeaStorage类

$storage=\SaeStorage();

8. 如何将 WordPress 的 upload 文件夹导入 SAE 的 storage

应用根目录,创建sae.php,
<?php
/* 在SAE的Storage中新建的Domain名,比如“wordpress” */
define('SAE_STORAGE',wordpress);
/* 设置文件上传的路径和文件路径的URL,不要更改 */
define('SAE_DIR', 'saestor://'.SAE_STORAGE.'/uploads');
define('SAE_URL', 'http://'.$_SERVER['HTTP_APPNAME'].'-'.SAE_STORAGE.'.stor.sinaapp.com/uploads');
?>

修改wp-includes/functions.php文件,
require( ABSPATH . WPINC . '/option.php' );

前添加
include( ABSPATH . '/sae.php' ); //调用SAE的Storage文件域名设置 //for SAE

注释掉如下代码,
//$wrapper = null;
// strip the protocol
//if( wp_is_stream( $target ) ) {
// list( $wrapper, $target ) = explode( '://', $target, 2 );
//}
// from php.net/mkdir user contributed notes
//$target = str_replace( '//', '/', $target );
// put the wrapper back on the target
//if( $wrapper !== null ) {
// $target = $wrapper . '://' . $target;
//}

替换为,
//for SAE begin
// from php.net/mkdir user contributed notes
if ( substr($target, 0, 10) == 'saestor://' ) {
return true;
}
$target = str_replace( '//', '/', $target );
//for SAE end

$basedir = $dir;

的上面添加
// for SAE begin
$dir = SAE_DIR;
$url = SAE_URL;
//for SAE end

/** * Send a HTTP header to limit rendering of pages to same origin iframes.

的上面添加,
// for SAE begin
if ( !function_exists('utf8_encode') ) {
function utf8_encode($str) {
$encoding_in = mb_detect_encoding($str);
return mb_convert_encoding($str, 'UTF-8', $encoding_in);
}
}
//for SAE end

修改wp-admin/includes/file.php,注释掉如下代码,
// Set correct file permissions
//$stat = stat( dirname( $new_file ));
//$perms = $stat['mode'] & 0000666;
//@ chmod( $new_file, $perms );

9. 在新浪云中用SaeStorage的write方法存储txt文件中文为乱码怎么处理

<?php
$str=base64_encode("中文文字信息");
$s->write(...);
?>

读取后用base64_decode()解码即可,http://www.hi-docs.com/Search-base64.html

10. 本地写了个upload的上传php文件,但是不知道如何远程访问SAE的storage

http://apidoc.sinaapp.com/sae/SaeStorage.html 这里有很详细的文档

阅读全文

与phpsaestorage相关的资料

热点内容
网盘忘记解压码怎么办 浏览:852
文件加密看不到里面的内容 浏览:651
程序员脑子里都想什么 浏览:430
oppp手机信任app在哪里设置 浏览:185
java地址重定向 浏览:268
一年级下册摘苹果的算法是怎样的 浏览:448
程序员出轨电视剧 浏览:88
服务器系统地址怎么查 浏览:54
解压游戏发行官 浏览:601
国外小伙解压实验 浏览:336
顶级大学开设加密货币 浏览:437
java重载与多态 浏览:528
腾讯应届程序员 浏览:942
一键编译程序 浏览:129
语音加密包哪个好 浏览:340
有什么学习高中语文的app 浏览:283
安卓手机的表格里怎么打勾 浏览:411
阿里云服务器有网络安全服务吗 浏览:970
超解压兔子视频 浏览:24
单片机怎么测负脉冲 浏览:176