当前位置:首页 » 编程语言 » phpsdk

phpsdk

发布时间: 2022-01-08 13:40:32

㈠ 使用金山云的phpSDK报错了,有谁知道吗.T.T

目的
本教程的目录是通过三个例子介绍如何在Html表单提交直传OSS第一个例子:讲解签名在客户端(Javascript)完成,然后直接通过表单上传到OSS, 注意这个例子有安全风险,推荐使用第二个例子和第三个例子第二个例子:讲解签名在服务端(php)完成,然后直接通过表单上传到OSS第三个例子:讲解签名在服务端(php)完成, 并且服务端面设置了上传后回调。然后直接通过表单上传到OSS,OSS回调完应用服务器再返回给用户。
背景
每个用OSS的用户,都会用到上传。由于是网页上传,其中包括一些APP里面的html5页面,对上传的需求很强烈,很多人采用的做法是用户在浏览器/APP上传到应用服务器,然后应用服务器再把文件上传到OSS。
这种方法有三个缺点,
第一:上传慢,先上传到应用服务器,再上传到OSS,网络传送多了一倍,而且OSS是采用BGP带宽,能保证各地各运营商的速度。
第二:扩展性不好,如果后续用户多了,应用服务器会成为瓶颈。
第三:费用高,因为OSS上传流量是免费的。如果数据直传到OSS,不走应用服务器。那么将能省下几台应用服务器。
改进方案1:客户端用JS直接签名,然后上传到OSS示例
下面我将介绍用plupload ,在JS端签名然后直传数据到OSS的例子用户电脑浏览器测试样例:http://oss-demo.aliyuncs.com/oss-h5-upload-js-direct/index.html用手机测试该上传是否有效。二维码:可以用手机(微信,QQ,手机浏览器等)扫一扫试试(这个不是广告,只是上述网址的二维码。这为了让大家看一下这个实现能在手机端完美运行。)文件上传是上传到一个测试的公共 bucket , 会定时清理,所以不要传一些敏感及重要数据代码下载
oss-h5-upload-js-direct.tar.gz (381 K) 下载次数:1100原理
本例子的功能
1.采用plupload 直接提高表单数据(即PostObject)到OSS2.支持html5,flash,silverlight,html4 等协议上传3. 可以运行在PC浏览器,手机浏览器,微信等4.可以选择多文件上传
5.显示上传进度条
6.可以控制上传文件的大小
OSS的PostObject API细节可以参照(看不懂没有关系):
https://docs.aliyun.com/#/pub/oss/api-reference/object&PostObjectplupload
plupload是一款简单易用且功能强大, 拥有多种上传方式,(html5, flash, silverlight, html4)等方式,会智能检测当前环境选择最适合的方式,并且会优先采用Html5, 所以不用花心思去当前的浏览器要用何种方式上传,plupload会帮您考虑好。
关键代码
因为OSS原生支持POST协议。所以只要将plupload在发送POST请求时,带上OSS签名即可。
核心代码如下:
复制代码
var uploader = new plupload.Uploader({
runtimes : 'html5,flash,silverlight,html4',browse_button : 'selectfiles',
//runtimes : 'flash',
container: document.getElementById('container'),flash_swf_url : 'lib/plupload-2.1.2/js/Moxie.swf',silverlight_xap_url : 'lib/plupload-2.1.2/js/Moxie.xap',url : host,
multipart_params: {
'Filename': '${filename}',
'key' : '${filename}',
'policy': policyBase64,
'OSSAccessKeyId': accessid,
'success_action_status' : '200', //让服务端返回200,不然,默认会返回204'signature': signature,
},
....
}
签名signature主要是对policyText进行签名,最简单的例子如下:
复制代码
var policyText = {
"expiration": "2020-01-01T12:00:00.000Z", // 设置该Policy的失效时间,超过这个失效时间之后,就没有办法通过这个policy上传文件了"conditions": [
["content-length-range", 0, 1048576000] // 设置上传文件的大小限制,如果超过了这个大小,文件上传到OSS会报错的]
}
Cors
注意:如果一定要保证bucket属性Cors设置支持POST方法。因为这个HTML直接上传到OSS,会产生跨域请求。必须在bucket属性里面设置允许跨域设置如下图:
进阶篇-应用服务器php返回签名
背景
上述例子有一个很严重的安全隐患。就是OSS AccessId/AccessKey暴露在前端页面。可以随意拿到accessid/accesskey. 这是非常不安全的做法将此例子进化,签名及上传policy从后端php代码取。
请求逻辑是:
1.客户端要上传图片时,到应用服务器取上传的policy及签名2.客户端拿到签名直接上传到OSS
示例
直接用网页访问:http://oss-demo.aliyuncs.com/oss-h5-upload-js-php/index.html用手机测试该上传是否有效。二维码:可以用手机(微信,QQ,手机浏览器等)扫一扫试试(这个不是广告,只是上述网址的二维码。这为了让大家看一下这个实现能在手机端完美运行。)文件上传是上传到一个测试的公共 bucket , 会定时清理,所以不要传一些敏感及重要数据代码下载
oss-h5-upload-js-php.tar.gz (382 K) 下载次数:600原理
设置plupload 上传参数如下:
复制代码
multipart_params: {
'key' : key + '${filename}'//后面会介绍到,key是应用服务器返回的,指定用户必须以这个前缀上传文件。
'policy': policyBase64,
'OSSAccessKeyId': accessid,
'success_action_status' : '200', //让服务端返回200,不然,默认会返回204'signature': signature,
},
js最主要是从后端取到policyBase64, 及accessid,及signature这三个变量。 往后端取这三个变量核心代码如下:
复制代码
phpUrl = './php/get.php'
xmlhttp.open( "GET", phpUrl, false );
xmlhttp.send( null );
var obj = eval ("(" + xmlhttp.responseText+ ")");host = obj['host']
policyBase64 = obj['policy']
accessid = obj['accessid']
signature = obj['signature']
expire = parseInt(obj['expire'])
key = obj['dir']
现在咱们来一起解析一下xmlhttp.responseText(这个是我设计的范围,并不一定要求是以下的格式,但是必须有signature, accessid, policy这三个值)复制代码
{"accessid":"6MKOqxGiGU4AUk44",
"host":"http://post-test.oss-cn-hangzhou.aliyuncs.com","policy":"","signature":"I2u57FWjTKqX\/AE6doIdyff151E=","expire":1446726203,"dir":"user-dir/"}
第一个变量accessid: 指的用户请求的accessid,注意单知道accessid, 对数据不会有影响。
第二个变量host: 指的是用户要往哪个域名发往上传请求。
第三个变量policy:指的是用户表单上传的策略policy, 是经过base64编码过的字符串第四个变更signature:是对上述第三个变量policy签名后的字符串第五个变量expire:指的是当前上传策略失效时间,这个变量,并不是用来发送到OSS,因为这个已经指定在policy里面,这个变量的含义,后面讲。
现在咱们分析一下policy的内容,将其解码后的内容是:
复制代码
{"expiration":"2015-11-05T20:23:23Z",
"conditions":[["content-length-range",0,1048576000],["starts-with","$key","user-dir\/"]]
这里有一个关键的地方,PolicyText指定了该Policy 上传失效的最终时间。即在这个失效时间之前,都可以利用这个policy上传文件,所以没有必要每次上传,都去后端取签名。减少后端的压力。在这里我的设计是:初始化上传时,每上传一个文件后,取一次签名。然后再上传时,将当前时间跟签名时间对比,看是签名时间是否失效了。如果失效了,就重新取一次签名,如果没有失效就不取。这里就用到了第五个变量expire核心代码如下:
复制代码
now = timestamp = Date.parse(new Date()) / 1000;[color=#000000]//可以判断当前expire是否超过了当前时间,如果超过了当前时间,就重新取一下.3s 做为缓冲[/color]
if (expire < now + 3)
{
.....
phpUrl = './php/get.php'
xmlhttp.open( "GET", phpUrl, false );
xmlhttp.send( null );
......
}
return .
再看一下上面policy 的内容比上面增加了starts-with, 这个指定此次上传的文件名,必须是user-dir开头(这个字符串,用户可以自己指定)为什么要增加这个的含义是:很多场景,一个应用一个bucket,不同用户的数据,为了防止数字覆盖,每个人上传到OSS,可以有特定的前缀。那么问题来了,那用户获取到这个policy后,是不是在失效期内,都能修改上传前缀,从而上传到别人的目录呢?所以,应用服务器可以在上传时就指定让用户传文件时,必须是某个前缀。如果用户拿到了policy他也没有办法上传别人的前缀上。保证了数据的安全性。
终级篇--应用服务器php返回签名及采用上传回调背景
当采用第二个方案后,问题来了,用户来了数据,并且上传数据后,很多场景下,应用服务器都要知道用户上传了哪些文件,文件名字,甚至如果是图片的话,图片的大小等。为此OSS开发了上传回调功能。
千万注意
上传回调功能目前只开放了两个域, 杭州跟北京(即通过oss.aliyuncs.com, oss-cn-hangzhou.aliyuncs.com, oss-cn-beijing.aliyuncs.com 这三个域名能调用上传回调)。 只有上传域名是这两个域,才能调用上传回调。
增加了请求回调后,用户的请求逻辑如下:
第一:用户先向应用服务器取到上传policy和回调设置第二:应用服务器返回上传policy和回调
第二:用户直接向OSS发送文件上传请求
第三:等文件数据上传完,OSS给用户Response前,OSS会根据用户的回调设置,请求用户的服务器。
第四:如果应用服务器返回成功,那么就返回用户成功,如果应用服务器返回失败,那么OSS也返回给用户失败。这样确保了用户上传成功的照片,应用服务器都已经收到通知了。
第五:应用服务器给OSS返回。
第六:OSS将应用服务器返回的内容返回给OSS。
上传回调功能目前只开放了两个域, 杭州跟北京(即通过oss.aliyuncs.com, oss-cn-hangzhou.aliyuncs.com, oss-cn-beijing.aliyuncs.com 这三个域名能调用上传回调)。 只有上传域名是这两个域,才能调用上传回调。
示例
示例:http://oss-demo.aliyuncs.com/oss-h5-upload-js-php-callback/index.html用手机测试该上传是否有效。二维码:可以用手机(微信,QQ,手机浏览器等)扫一扫试试(这个不是广告,只是上述网址的二维码。这为了让大家看一下这个实现能在手机端完美运行。)文件上传是上传到一个测试的公共 bucket , 会定时清理,所以不要传一些敏感及重要数据代码要添加的东西
复制代码
new_multipart_params = {
'key' : key + '${filename}',
'policy': policyBase64,
'OSSAccessKeyId': accessid,
'success_action_status' : '200', //让服务端返回200,不然,默认会返回204'callback': callbackbody,
'signature': signature,
};
上述的callbackbody 是php服务端返回的。在本例中,从后端php取到的内容如下:
复制代码
{"accessid":"6MKOqxGiGU4AUk44",
"host":"http:\/\/post-test.oss-cn-hangzhou.aliyuncs.com","policy":"","signature":"VsxOcOudxDbtNSvz93CLaXPz+4s=","expire":1446727949,
"callback":"uY29kZWQifQ==","dir":"user-dir\/"}
上面提到callbackbody, 就是上述返回结果里面的callback内容,经过base64编码后的。
解码后的内容如下:
复制代码
{"callbackUrl":"http://oss-demo.aliyuncs.com:23450","callbackHost":"oss-demo.aliyuncs.com",
"callbackBody":"filename=${object}&size=${size}&mimeType=${mimeType}&height=${imageInfo.height}&width=${imageInfo.width}","callbackBodyType":"application/x-www-form-urlencoded"}
内容的解析如下:
CallbackUrl: 指的是oss往这个机器发送的url请求。
callbackHost:指的的oss发送这个请求时,请求头部所带的Host头callbackBody: OSS请求时,发送给应用服务器的内容,可以包括文件的名字,大小,类型,如果是图片可以是图片的高度,宽度callbackBodyType: 请求发送的Content-Type
代码下载
oss-h5-upload-js-php-callback.tar.gz (412 K) 下载次数:522应用服务器
在上述有一个很重要的地方就是第四步和第五步,OSS与应用服务器交互的时候,问题1:如果我是开发者,那么我要怎么样确认请求是从OSS发送过来的呢?
答案:OSS发送请求时,会跟应用服务器构造签名。两者通过签名保证。
问题2: 这个签名是怎么做的?或者有示例代码吗?
答案:有的。我上面的例子里面是Callback应用服务器的例子是:http://oss-demo.aliyuncs.com:23450 (目前只支持linux)上面运行的代码是:
callback_app_server.py.zip (2 K) 下载次数:365运行方案,在linux下面直接执行里面的文件:
python callback_app_server.py
即可,程序自实现了一个简单的http server.
是不是很简单!!!!
总结
第一个例子:讲解如何在JS直接签名,直接表单上传到OSS oss-h5-upload-js-direct.tar.gz (381 K)
第二个例子:讲解如何在从后端PHP获取签名,然后直接表单上传到OSS oss-h5-upload-js-php.tar.gz (382 K)
第三个例子:讲解如何在从后端PHP获取签名及上传后回调。然后直接表单上传到OSS,OSS回调完应用服务器再返回给用户。 oss-h5-upload-js-php-callback.tar.gz (412 K)

㈡ php 沙箱sdk放在那个包里

PHP沙箱salkey放在哪个包里放在哪个包里都可以这个应该是不难的

㈢ Parse正式发布开源PHP SDK

Pare
发布

Parse
PHP
SDK
,旨在使Parse能够集成“到一类新的应用程序和不同的使用场景。”另外,该公司声称,这是他们的“第一个面向服务器端语言的SDK,而且是第一个真正开源的SDK。”
到目前为止,Parse提供了若干API库,旨在使前端可以更容易地集成Parse,其中包括对Objective-C、Java、.NET和JavaScript的支持。另外,Parse通过REST在本地公开接口。这些库涵盖了Parse的主要使用场景,这使得开发人员不用“
为其应用程序需要访问的每个服务重新开发他们自己的后端
”,比如,需要
管理服务器及编写服务器端代码

另一方面,Parse还基于他们自己的JavaScript
SDK提供了一个
Cloud
Code环境
,用于服务器端需要一些逻辑的场景。比如,Parse
Cloud
Code带来的好处之一是,
更新对所有的环境都立即可用,而不需要等到新的应用程序发布,如此一来,功能就可以动态地修改。随着Parse
PHP
SDK的推出,使用PHP现在也可以获得同样的好处。
Parse
PHP
SDK与其它Parse
SDK结构类似,它围绕ParseObject构建,后者包含无模式且兼容JSON的数据的键值对。PFObject能够被保存、检索、更新和删除。查询通过PFQuery建模,它既允许基本查询,又允许关系查询。另外,Parse还支持
基于角色的访问控制
,这提供了一种逻辑方法,将对Parse数据有相同访问权限的用户分组。
Niraj
Shah是英国伦敦的一名PHP开发人员,他已经创建了一个
Parse
PHP
SDK简易入门教程
。该教程旨在将事情简单化,Niraj说,Parse
PHP
SDK的“文档组织不是很好,为了找出完整的解决方案,你可能不得不在文档之间跳来跳去。”
附上
Parse开源php
sdk下载地址:
http://www.jb51.net/codes/203051.html

㈣ phpsdk怎么开始开发

  1. 你有自己的网站,想开发一个php的sdk,然后开放出去给别人调用。

  2. 你已经下载了别人的sdk,然后想基于该sdk开发自己的应用。

  3. 第一种情况,无非是写一些开放接口,让别人可以对你网站进行有限的读写操作。

  4. 第二种情况很常见。最常见的就是我们下载微博的sdk,然后开发自己的应用。如果是这样,你可以多参考sdk的wiki页面,上面一般都有实例代码。

  5. 最外层包含:配置文件, 鉴权和一些公共的函数。

  6. HTTP 目录主要包含了一些对 http 进行封装的类,这块你可以不用关心。

  7. Storage 目录主要包含两大块:Bucket 中文件的管理和文件的上传。

  8. Processing 目录主要包含文件的处理,文件处理又包含两个方面:同步处理和异步处理。

  9. Cdn 目录主要包含了 CDN 的相关 API ,有文件的刷新和预取,CDN 日志的下载等方法。

㈤ qq登录 php sdk 怎么用

网络一下
腾讯微博开放平台。用自己的账号登录后,点击开发说明文档
这里面就是开发接口及参数和用法。当然可以到腾讯去下一个demo。说实话腾讯微博开房平台并不是很完善。跟新浪差很多)而且DEMO还是由热心网友提供的
并非官方提供的DEMO。具体使用方法就是调用其接口文件,嵌套业务逻辑
比如通过对接腾讯微博接口调取相应的值,之后进行文件的显示灯功能。如果还有不明白或回答不够透彻。请追问。希望能对你有帮助。

㈥ PHP-sdk获取不到列表文件,请问怎么解决

只要在 php.ini 文件中激活了 allow_url_fopen 选项,您可以在大多数需要用文件名作为参数的函数中使用 HTTP 和 FTP URL 来代替文件名。同时,您也可以在 include()、include_once()、require() 及 require_once() 语句中使用 URL。
注: 要在 PHP 4.0.3 及其以后版本中使用 URL,您需要用 --enable-url-fopen-wrapper 参数来配置 PHP。 Windows 版本的 PHP 4.3 版之前不支持以下函数的远程访问:include(),include_once(),require(),require_once() 以及 参考 XLI, 图像函数库 扩展库中的 imagecreatefromXXX 函数。
例如,您可以用以下范例来打开远程 WEB 服务器上的文件,解析您需要的输出数据,然后将这些数据用在数据库的检索中,或者简单地将其输出到您网站剩下内容的样式匹配中。

㈦ 百度云推送PHP SDK怎样引入CI里面

方法/步骤
注册下载SDK
创建项目,创建完成项目后、将会得到应用ID、应用密钥这两个字符串:
将下载下来的库添加到本地项目中,选择选项:
其次添加依赖框架、这步很重要,
所要添加的依赖框架框架:
AdSupport.framework
Security.framework
StoreKit.framework
ImageIO.framework
MapKit.framework
QuartzCore.framework
SystemConfiguration.framework
CoreTelephony.framework
CoreGraphics.framework
添加完成、编译....
最后代码实现...显示横幅广告
这里需要做3件事:
1)首先要到AppController.mm 中初始化代理
2)调用initQuMiGuangGao初始化方法
3)显示广告横幅
<1> 将所要现实的那个.cpp文件改成.mm文件
<2> 在.mm文件中把头文件包含进来

㈧ PHPSDK是什么怎么解释这个英文

你要知道SDK的意思就知道是什么东西了:
SDK通俗来讲就是软件开发工具包(Software Development Kit);
PHPSDK就是跟php有关的软件开发工具包,比如现在市面上有很多别人集成好的SDK,你就可以拿来直接使用的;就比如说APP推送,阿里就有集成好的phpSDK,你就可以按照官方文档进行使用啦,还有很多很多,可以自行网络

㈨ php使用sdk能不用composer吗

网上之前看到的,希望对你有帮助。

支持以下几种安装方式,推荐 使用Composer安装 方式 。
使用 Composer 安装
Composer是一个简单易用的 PHP 依赖管理工具。你可以在自己的项目中声明所依赖的外部工具库,Composer 会自动帮你安装这些依赖的库文件。
使用 Composer 安装 Qiniu SDK 的步骤非常简单:
#安装 Composer
curl -sS https://getcomposer.org/installer | php

#使用 Composer 获取最新版本的 Qiniu SDK
php composer.phar require qiniu/php-sdk

#代码中 require Composer生成的 autoloader
<?php
require 'vendor/autoload.php';

如果需要更详细的关于 Composer 的使用说明,你可以访问Composer官方网站,或对应的中文网站。

直接下载 Composer 安装包
鉴于某些原因,国内的用户使用 Composer 下载依赖库比较慢,开发者也可以直接下载我们准备好的符合 Composer 规范的vendor 压缩包并在本地解压。解压后的内容和使用 Composer 方式获取到的内容完全一致,之后的使用方式也一致。

下载源代码包
直接下载源代码压缩包并解压是另一种 SDK 的安装方法。不过因为有版本更新的维护问题,这种安装方法并不推荐,仅作为万一 Composer 安装有问题的情况下的一种备选。并且,源码中也包含 Qiniu SDK 的 autoloader。
下载源代码包后,解压到您的项目中。 然后在您的项目中引入 autoloader:
<?php
require 'path_to_sdk/autoload.php';

㈩ 阿里云PHP的SDK怎么使用

安装SDK后,您可以通过调用API来访问、管理阿里云产品,以下是阿里云开放的API的产品,选择产品查看产品API详细说明。如果还有不明白的话,你可以在后盾人看看视频找找答案,有空多看看时间长了,慢慢就明白了,希望能帮到你,给个采纳吧谢谢❀(๑╯㉨╰๑)❀

热点内容
如何访问暗网 发布:2024-12-25 10:25:08 浏览:58
儿童文学编译思想 发布:2024-12-25 10:22:49 浏览:311
vb反编译修改 发布:2024-12-25 10:21:21 浏览:755
老外解压 发布:2024-12-25 10:08:29 浏览:404
外网访问内网服务 发布:2024-12-25 10:04:49 浏览:641
起点小说怎么上传封面 发布:2024-12-25 10:03:34 浏览:628
java一维数组定义 发布:2024-12-25 09:42:06 浏览:250
大积木编程 发布:2024-12-25 09:38:14 浏览:689
喋血复仇配置不够怎么办 发布:2024-12-25 09:35:59 浏览:368
提示没有配置emo服务器地址 发布:2024-12-25 09:35:21 浏览:316