當前位置:首頁 » 編程語言 » 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 21:57:06 瀏覽:993
資料庫一個的和 發布:2024-12-25 21:50:40 瀏覽:465
鈣化分析演算法 發布:2024-12-25 21:49:51 瀏覽:462
運用計演算法 發布:2024-12-25 21:49:46 瀏覽:943
微信安裝安卓707什麼意思 發布:2024-12-25 21:38:15 瀏覽:882
演示文稿如何取消密碼 發布:2024-12-25 21:21:18 瀏覽:99
最近上傳視頻 發布:2024-12-25 21:05:39 瀏覽:396
php招聘源碼 發布:2024-12-25 21:05:38 瀏覽:991
c語言輸入數組賦值 發布:2024-12-25 21:01:43 瀏覽:655
22款賓士e買哪個配置 發布:2024-12-25 20:54:08 瀏覽:740