當前位置:首頁 » 編程語言 » 七牛雲php

七牛雲php

發布時間: 2025-03-24 20:07:29

⑴ 請問七牛雲存儲的CDN加速原理是什麼我不太懂,也沒有域名解析啊

最佳答案又是復制粘貼的。

簡單地說,現在CDN分兩種:

  1. 把www的解析直接換成CNAME

  2. 自己加一個二級域名,CNAME綁定到CDN提供的地址上


網路、騰訊雲、阿里雲等CDN使用第一種方式,七牛和又拍屬於第二種。

第一種方式比較簡單,站長無需對網站做修改,CDN直接會把網頁和靜態資源緩存起來。由於www的解析直接更換成CDN的CNAME,因此不需要更改網址就能起到加速效果。缺點是,有些動態頁面(php、JSP、ASPX等等)可能會被CDN誤判為靜態網頁而被緩存起來,不適合需要用戶登錄的網站。


第二種方式呢,需要站長親自把所有的圖片、CSS、JS等的網址替換成二級域名的網址。只有該二級域名下的文件會被緩存。優點是沒有第一種的缺點,缺點是,如果把靜態頁面也放到了二級域名下,會對SEO產生一定影響。

⑵ phpcms 怎麼用七牛雲存儲

1、首先去github下載網路編輯器UEditor,去github下載:
目錄命名為uediter,放在/statics/js/目錄下面;
2、修改/phpcms/libs/classes/下的form.class文件:
if(!defined('EDITOR_INIT')) {
$str = '<script type="text/javascript" src="'.JS_PATH.'ckeditor/ckeditor.js"></script>';
define('EDITOR_INIT', 1);
}
替換為:
if(!defined('EDITOR_INIT')) {
$str .= '<script type="text/javascript" src="'.JS_PATH.'ueditor/editor_config.js"></script>';
$str .= '<script type="text/javascript" src="'.JS_PATH.'ueditor/editor_all.js"></script>';
$str .= '<link rel="stylesheet" href="'.JS_PATH.'ueditor/themes/default/ueditor.css"/>';
define('EDITOR_INIT', 1);
}
$str .= "<script type=\"text/javascript\"> ";
$str .= "var editor = new .editor.ui.Editor();editor.render('$textareaid');";
$str .= '</script>';
修改Ueditor根目錄下的ueditor.config.js其中的配置如下:
相當於指定一下ueditor的路徑
window.UEDITOR_HOME_URL = "/statics/js/ueditor/";
var URL = window.UEDITOR_HOME_URL || getUEBasePath();
,imagePath:"七牛分配的域名或者你綁定的域名",savePath: ['your bucket']
,filePath:"七牛分配的域名或者你綁定的域名" ,imageManagerPath:"七牛分配的域名或者你綁定的域名"
3、修改編輯器默認寬度和高度,因為phpcms默認編輯器沒有那麼大,具體修改方法是:
找到如下代碼,並把前面的兩條「//」刪除。
//,initialFrameWidth:698 //初始化編輯器寬度,默認1000
//,initialFrameHeight:400 //初始化編輯器高度,默認320
即變為:
,initialFrameWidth:655 //初始化編輯器寬度,默認1000
,initialFrameHeight:400 //初始化編輯器高度,默認320
修改根目錄下/php/conf.php中的代碼
$QINIU_ACCESS_KEY = 'your ak';$QINIU_SECRET_KEY = 'your sk';$BUCKET = "your bucket";

⑶ ThinkPHP6上傳圖片七牛雲 如何上傳文件到七牛雲對象儲存cos

ThinkPHP6 如何上傳圖片七牛雲,如何上傳文件到七牛雲對象儲存cos,總所周知圖片是特別消耗網站帶寬的,個人網站將圖片上傳至七牛雲才能顯著提升網站的響應速度,手把手交大家如何上配置ThinkPHP6上傳文件至七牛雲.

然後我們就可以使用 $url=Qiniu::upload($filePath,$filename); 傳入文件的相對路徑或絕對路徑加上文件名,在文件上傳成功後自動又將圖片上傳至七牛雲~

⑷ php表單上傳圖片到七牛雲存儲並返回地址……求具體流程~有代碼更好

有的,我最近研究了一下,寫了一篇記錄,如下

原文地址:http://cuiqingcai.com/?p=157

網上關於七牛雲存儲的教程除了官網上的API文檔,其他的資料太少了。研究了下API之後,現在已經能實現圖片的上傳和下載及上傳之後的重定向。

首先本篇文章實現的功能如下:

1.利用表單上傳功能,用戶可以點擊選擇文件按鈕,選擇本地的一個文件,同時設定上傳的圖片的名稱,點擊上傳按鈕可以上傳並存儲到七牛雲存儲。

2.在點擊上傳時會檢測文件的後綴名,限制為jpg和png格式存儲。

3.上傳成功後跳轉到自己設定的一個URL,並傳迴文件信息,如文件名。而不是顯示七牛白花花的json顯示頁面。

好啦,那我們開始吧,首先我們要有一個七牛雲存儲賬號,如果沒有的就自己去申請吧。

七牛雲存儲傳送門:http://www.qiniu.com/

一.SDK下載

https://github.com/qiniu/php-sdk/tags

戳這個網址下載一下SDK吧,裡面封裝了文件上傳下載等等的方法,我們引入之後可以直接調用。

SDK之中有一個qiniu的文件夾,這是所有的SDK實貨,這個是最重要的。我們首先要把這個文件夾及裡面的文件放到項目文件夾中,比如我放到這里。

大家可以看到有一個qiniu文件夾。好啦,資源支持就是這樣。接下來我們要實現代碼咯。

二.文件的上傳。

1.首先把你七牛雲存儲的密鑰照出來,點擊賬號設置可以看到有一個AccessKey和SecretKey,留著備用。

2.上傳憑證生成。

在這里我們首先要引入rs.php文件,自己找一對應路徑,代碼如下:

require_once(dirname(__FILE__)."/../../qiniu/rs.php");

dirname()是指的絕對路徑,有時相對路徑會出現問題,建議在前面加上dirname方法獲取絕對路徑。

require_once是引入文件,表示該文件只引入一次。

然後,傳入你的AccessKey和SecretKey

代碼如下:

$accessKey='';//換成你自己的密鑰
$secretKey='';//換成你自己的密鑰


Qiniu_SetKeys($accessKey, $secretKey);

然後建一個上傳策略對象,將你的bucket傳入,bucket 就是你的空間名。

$bucket = 'designpartners';
$putPolicy = new Qiniu_RS_PutPolicy($bucket);

然後調用此方法來生成上傳憑證。

$upToken = $putPolicy->Token(null);

接下來就寫一個html表單

<formmethod="post"action="http://up.qiniu.com"name="form"enctype="multipart/form-data">
<ul>
<inputtype="hidden"id="token"name="token"value=<?phpecho$upToken?>>
<li>
<labelfor="key">key:</label>
<inputname="key"value="">
</li>
<li>
<labelfor="bucket">照片:</label>
<inputname="file"type="file"/>
</li>
<li>
<inputtype="submit"value="提交">
</li>
</ul>
</form>

action就填寫up.qiniu.com,表單提供了一個輸入框key,用來輸入你想保存的圖片名稱,上傳到七牛之後就是這個名字。

然後一個文件選擇,一個提交按鈕。運行結果如下:

輸入key值和選擇照片即可實現照片的上傳。哈哈哈有沒有很簡單。

三、文件下載

原理和文件上傳功能相仿。

引入文件

require_once(dirname(__FILE__)."/../../qiniu/rs.php");

聲明你的七牛雲存儲域名和兩個密鑰以及向下載的文件名稱

$key='00000';
$domain='designpartners.qiniudn.com';
$accessKey='';
$secretKey='';

注意:1.key值即為文件名,不要加後綴

2.domain即為bucket加上qiniudn.com,例子中的designpartners就是我在上傳圖片時用的bucket名。

3.accessKey和secretKey換成你自己的,直接用我的不行的..因為我修改了.

Qiniu_SetKeys($accessKey,$secretKey);
$baseUrl=Qiniu_RS_MakeBaseUrl($domain,$key);
$getPolicy=newQiniu_RS_GetPolicy();
$privateUrl=$getPolicy->MakeRequest($baseUrl,null);
echo$privateUrl." ";

傳入這四個值即可生成一樣url,直接訪問url即可實現圖片的下載。

在引入圖片時直接

<img src = "<?php echo $privateUrl; ?>"/>

即可引入圖片咯,很簡單的吧。

四、303重定向

在上面的方法中,我們上傳圖片成功後跳轉到up.qiniu.com下,會顯示白白的網頁,顯示一個json字元串,但是在實際網站開發中我們肯定 不能讓用戶看到這種網頁,所以我們用到了303跳轉。SDK中也為我們封裝了這個方法。使用其實非常簡單。在上傳文件的代碼中添加兩行代碼即可

$putPolicy=newQiniu_RS_PutPolicy($bucket);
$putPolicy->ReturnUrl=site_url()."/upload/receiveInfo";
$putPolicy->ReturnBody='{"key":$(key)}';

注意:1.ReturnUrl和ReturnBody必須指定,並且首字母要大寫,很多人都小寫開頭,這樣會跳轉不成功。

2.ReturnUrl必須是一個公網可以訪問的網址,在本地測試是不可能通過的。比如你寫成localhost,七牛伺服器是定位不到的。
3.這個ReturnUrl的鏈接後會跟著一個?upload_ret=XXX,可以用get方法獲取這個upload_ret。upload_ret的內容是base64安全編碼的json形式的key值。

值的解析:比如我上傳的文件名是555

upload/receiveInfo?upload_ret=eyJrZXkiOiAiNTU1In0=

網址後綴如上所示,把那個upload_ret復制下來,用base64解碼可以出現如下結果:

{"key": "555"}

所以,我們要獲取555這個值的代碼如下,即解析代碼如下:

$upload_ret=$_GET['upload_ret'];
$json_ret=base64_decode($upload_ret);
$result=json_decode($json_ret);
echo"key".$result->key;

好啦,獲取到這個key值之後,你可以選擇存到資料庫或者進行其他的操作咯。

五、上傳前文件類型的驗證

我們可以用js來驗證文件的後綴名,

在form的屬性里加上

onsubmit="return isValidateFile('file');"

加上一個js方法

<script>
functionisValidateFile(obj){
varextend=document.form.file.value.substring(document.form.file.value.lastIndexOf(".")+1);
if(extend==""){
alert("請選擇頭像");
returnfalse;
}
else{
if(!(extend=="jpg"||extend=="png")){
alert("請上傳後綴名為jpg或png的文件!");
returnfalse;
}
}
returntrue;
}
</script>

即可驗證它的類型是否合法。

附:CI代碼實現:

獲取Uptoken:

functiongetUptoken(){
require_once(dirname(__FILE__)."/../../qiniu/rs.php");
//遠程存儲空間名稱
$bucket='designpartners';
$accessKey='';
$secretKey='';
Qiniu_SetKeys($accessKey,$secretKey);
$putPolicy=newQiniu_RS_PutPolicy($bucket);
echosite_url();
$putPolicy->ReturnUrl=site_url()."/upload/receiveInfo";
$putPolicy->ReturnBody='{"key":$(key)}';
$upToken=$putPolicy->Token(null);
return$upToken;
}

文件上傳:

publicfunctionuploadPic(){
$upToken=$this->getUptoken();
$data['upToken']=$upToken;
$this->load->view('upload',$data);
}

303重定向解析:

publicfunctionreceiveInfo(){
$upload_ret=$_GET['upload_ret'];
$json_ret=base64_decode($upload_ret);
$result=json_decode($json_ret);
echo"key".$result->key;
}

文件下載:

publicfunctiondownloadPic(){
require_once(dirname(__FILE__)."/../../qiniu/rs.php");
$key='00000';
$domain='designpartners.qiniudn.com';
$accessKey='';
$secretKey='';
Qiniu_SetKeys($accessKey,$secretKey);
$baseUrl=Qiniu_RS_MakeBaseUrl($domain,$key);
$getPolicy=newQiniu_RS_GetPolicy();
$privateUrl=$getPolicy->MakeRequest($baseUrl,null);
echo"====>getPolicyresult: ";
echo$privateUrl." ";
}

表單:

<script>
functionisValidateFile(obj){
varextend=document.form.file.value.substring(document.form.file.value.lastIndexOf(".")+1);
if(extend==""){
alert("請選擇頭像");
returnfalse;
}
else{
if(!(extend=="jpg"||extend=="png")){
alert("請上傳後綴名為jpg或png的文件!");
returnfalse;
}
}
returntrue;
}
</script>
<formmethod="post"action="http://up.qiniu.com"name="form"enctype="multipart/form-data"onsubmit="returnisValidateFile('file');">
<ul>
<inputtype="hidden"id="token"name="token"value=<?phpecho$upToken?>>
<li>
<labelfor="key">key:</label>
<inputname="key"value="">
</li>
<li>
<labelfor="bucket">照片:</label>
<inputname="file"type="file"/>
</li>
<li>
<inputtype="submit"value="提交">
</li>
</ul>
</form>

⑸ 誰用七牛雲設置水印成功了

相信很多開發者會把圖片存放到七牛上,我的web站點也是吧圖片存儲到七牛上,對於以圖片為主的站點,這樣可以節省很大帶寬。將圖片上傳到七牛伺服器的重點就是獲得上傳憑證uploadToken,直接把AccessKey和Secret放到客戶端太不安全,容易被反編譯。所以需要在伺服器端根據AccessKey和Secret動態生成一個uploadToken,然後傳回到客戶端,客戶端通過這個uploadToken將圖片上傳到七牛伺服器。第一、在伺服器端生成uploadToken//將圖片上傳到七牛start$bucket='七牛空間名稱';$expires=3600;$accessKey='去七牛查看';$secretKey='去七牛查看';$client=newQiniuClient($accessKey,$secretKey);$flags=array();$scope=$bucket;$deadline=time()+$expires;$flags['scope']=$scope;$flags['deadline']=$deadline;$flags['returnBody']=null;echo$client->uploadToken($flags);這里注意一下bucket:七牛空間名稱和deadline:uploadToken失效時間,具體可查看一下官網上傳憑證介紹uploadToken($flags)是自己封裝的用於生成上傳憑證的函數publicfunctionuploadToken($flags){if(!isset($flags['deadline']))$flags['deadline']=3600+time();$encodedFlags=self::urlsafe_base64_encode(json_encode($flags));$sign=hash_hmac('sha1',$encodedFlags,$this->secretKey,true);$encodedSign=self::urlsafe_base64_encode($sign);$token=$this->accessKey.':'.$encodedSign.':'.$encodedFlags;return$token;}publicstaticfunctionurlsafe_base64_encode($str){$find=array("+","/");$replace=array("-","_");returnstr_replace($find,$replace,base64_encode($str));}第二、下載qiniu-android-sdk-7.0.0.jar和android-async-http-1.4.6並導入項目第三、android上傳圖片由於Android4.0以後不允許在主線程進行網路連接,所以需要新開個線程來獲取上傳憑證。/**上傳圖片到七牛*/privatevoiploadImg(){newThread(newRunnable(){@Overridepublicvoidrun(){//獲得七牛上傳憑證uploadTokenStringtoken=getUploadToken();//手機SD卡圖片存放路徑StringimgPath="";try{imgPath=FileUtil.getBasePath()+"/test.jpg";}catch(IOExceptione){e.printStackTrace();}if(token!=null){Stringdata=imgPath;//圖片名稱為當前日期+隨機數生成Stringkey=getRandomFileName();UploadManageruploadManager=newUploadManager();uploadManager.put(data,key,token,newUpCompletionHandler(){@Overridepublicvoidcomplete(Stringarg0,ResponseInfoinfo,JSONObjectresponse){//TODOAuto-generatedmethodstubLog.i("qiniu",info.toString());}},null);}else{Log.i("fail","上傳失敗");}}}).start();}FileUtil.getBasePath()使用來獲取SD卡基本路徑,getRandomFileName()生成一個隨機數來命名上傳圖片,具體方法我在這就不寫了。獲得上傳憑證的方法也很簡單,直接使用httpget和伺服器通信,獲得第一步中生成的數據即可。(注意10.0.2.2是模擬器提供的特殊IP,等同於在電腦端的環回測試IP127.0.0.1)/**獲得七牛上傳憑證uploadtoken*/privateStringgetUploadToken(){HttpClientclient=newDefaultHttpClient();StringBuilderbuilder=newStringBuilder();HttpGetmyget=newHttpGet("10.0.0.2/test/getUploadToken.php");try{HttpResponseresponse=client.execute(myget);BufferedReaderreader=newBufferedReader(newInputStreamReader(response.getEntity().getContent()));for(Strings=reader.readLine();s!=null;s=reader.readLine()){builder.append(s);}returnbuilder.toString();}catch(Exceptione){Log.i("urlresponse","false");e.printStackTrace();returnnull;}}通過LOG日誌可以看到Qiniu--success,說明上傳成功。

⑹ 如何搭建屬於自己的個人博客網站

從很久以前就有粉絲問浪哥怎麼搭建個人博客,怎麼搭建一個個人博客網站呢,其實搭建一個博客還是挺簡單的,一個網站的建立無非就是:域名-空間-程序這幾樣組成的,只要完成了這幾點你就可以搭建一個網站哦!

域名注冊

我們搭建自己的博客的時候是不是得有一個自己的網站的域名了,首先我們先確定好自己網站的域名,建議長度在6位數這類的,這樣容易好記一些;想好域名後我們就去找一些域名注冊公司注冊就行了,需要注意的是後輟一定要選擇主流類型:」com cn net org「這幾種其中的一個或者多個。其餘的都就不要選了。

空間購買

注冊好域名後,我們就去買一個放網站程序的空間,可以是ASP的也可以是PHP的建議大家選擇PHP的這樣安全一些。前期我們的網站流量都不大所以買一個空間就行了。流量比較大的時候在換成伺服器這類的。一般我們都是購買國內的空間,如果嫌麻煩不想備案就買香港的。

域名備案

在國內不管你做什麼網站都得備案網站,建議大家備案一下。如果大家使用的是國外的伺服器或者香港的伺服器或空間。可以不用備案,國內的不備案也就不能夠訪問網站,這點我們得知道。

程序選擇

我們搭建一個博客網站是不需要一個程序呢?那是肯定的。現在博客程序流行的有三種:「WordPress ZBlog Emlog 」,它們各有各的優點和缺點,大家喜歡哪一個選擇好就行了。建議大家用ZBlog !

網站安裝

選擇好博客程序後。我們把下載下來的程序包上傳到網站的根目錄,然後把域名解析到空間上(*空間也要綁定域名),然後訪問並且安裝博客程序。安裝完成後基本上就完成了,我們也只需要起一個比較好的網站名稱設置好一些欄目。有能力的可以自己寫一個博客主題,不會的話自己用免費的或者買一個。

我覺得搭建一個網站不難,重點是不好推廣。所以大家得注重網站內容質量和推廣!

熱點內容
phpcurlxml 發布:2025-03-26 15:44:58 瀏覽:727
安卓手機如何清空流量 發布:2025-03-26 15:43:45 瀏覽:349
sqlserver圖標 發布:2025-03-26 15:29:09 瀏覽:457
音頻去噪演算法 發布:2025-03-26 15:17:58 瀏覽:556
透明pp文件夾 發布:2025-03-26 15:15:52 瀏覽:145
perl的編譯器 發布:2025-03-26 15:12:25 瀏覽:360
linuxug 發布:2025-03-26 15:12:21 瀏覽:510
濟寧編程 發布:2025-03-26 15:11:43 瀏覽:798
手機如何緩存電影 發布:2025-03-26 15:10:03 瀏覽:613
phppost類 發布:2025-03-26 15:10:01 瀏覽:204