程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> uploadify實現七牛雲存儲 顯示上傳進度+頁面顯示,uploadify牛雲

uploadify實現七牛雲存儲 顯示上傳進度+頁面顯示,uploadify牛雲

編輯:關於PHP編程

uploadify實現七牛雲存儲 顯示上傳進度+頁面顯示,uploadify牛雲


准備:

uploadify下載地址:

http://www.uploadify.com/download/

七牛 php-sdk開發指南:

http://developer.qiniu.com/docs/v6/sdk/php-sdk.html

php-sdk地址:

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

開始:

 DEMO:

http://hxend.com/uploadif/

 

在七牛裡面注冊賬號以後,成為標准用戶

免費存儲空間10GB
免費每月下載流量10GB
免費每月PUT/DELETE 10萬次請求
免費每月GET 100萬次請求

貌似是一個不錯的福利。

成功注冊後就會 賬號頁面 有ak 和sk key 可以在代碼中使用。

下載好uploadify 後 把 七牛 php -sdk 文件包裡面的內容放在 uploadify 裡面

打開uploadify.php 文件  代碼如下:

<?php
/*
Uploadify
Copyright (c) 2012 Reactive Apps, Ronnie Garcia
Released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/

// Define a destination
$targetFolder = '/uploads'; // Relative to the root

$verifyToken = md5('unique_salt' . $_POST['timestamp']);

if (!empty($_FILES) && $_POST['token'] == $verifyToken) {
	$tempFile = $_FILES['Filedata']['tmp_name'];
	$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
	$targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];
	
	// Validate the file type
	$fileTypes = array('jpg','jpeg','gif','png'); // File extensions
	$fileParts = pathinfo($_FILES['Filedata']['name']);
	
	if (in_array($fileParts['extension'],$fileTypes)) {
		move_uploaded_file($tempFile,$targetFile);
		echo '1';
	} else {
		echo 'Invalid file type.';
	}
}
?>

  修改代碼如下: 介紹參考代碼內部.

<?php

$verifyToken = md5('unique_salt' . $_POST['timestamp']);

if (!empty($_FILES) && $_POST['token'] == $verifyToken) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    //生成新的文件名 
    $filename = time().mt_rand(10,99).'.'.end(explode('.', $_FILES['Filedata']['name'])); //在這裡修改生出隨機圖片名
    $fileTypes = array('jpg','jpeg','gif','png');  //限制上傳的文件為圖片 
    $fileParts = pathinfo($_FILES['Filedata']['name']);

    if (in_array($fileParts['extension'],$fileTypes)) {
        //上傳圖片到雲端 start
        require_once("qiniu/io.php");
        require_once("qiniu/rs.php");

        $bucket = "hdimg";//空間名
        //截取原始文件後綴名
        $key1 = "Uploads/".$filename;
        $accessKey = ' '; //這裡填寫ak
        $secretKey = ' '; // 這裡填寫SK

        Qiniu_SetKeys($accessKey, $secretKey);
        $putPolicy = new Qiniu_RS_PutPolicy($bucket);
        $upToken = $putPolicy->Token(null);
        $putExtra = new Qiniu_PutExtra();
        $putExtra->Crc32 = 1;
        //$tempFile uploadify上傳的臨時文件路徑
        list($ret, $err) = Qiniu_PutFile($upToken, $key1, $tempFile, $putExtra);
        //上傳圖片到雲端 end

        //返回文件名給前台
        echo "http://hdimg.qiniudn.com/".$key1; //前台使用回調函數的data參數接收  
    } else {
        echo 'Invalid file type.';
    }
}

  前台index.php修改為:前台調用 echo 輸出的值data 進行操作。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>UploadiFive Test</title>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
<script src="jquery.uploadify.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="uploadify.css">
<style type="text/css">
body {
	font: 13px Arial, Helvetica, Sans-serif;
}
</style>
</head>

<body>
	<form>
		<div id="queue"></div>
		<input id="file_upload" name="file_upload" type="file" multiple="true">
	</form>
			<img width="100" height="100" id="txtimg" src=""/>
	<script type="text/javascript">
		<?php $timestamp = time();?>
		$(function() {
			$('#file_upload').uploadify({
				'formData'     : {
					'timestamp' : '<?php echo $timestamp;?>',
					'token'     : '<?php echo md5('unique_salt' . $timestamp);?>'
				},
				'swf'      : 'uploadify.swf',
				'uploader' : 'uploadify.php',
				 'onUploadSuccess' : function(file,data,response) {  //執行成功後就執行該段js
						document.getElementById('txtimg').src=data;  
                                }
			});

		});
	</script>
</body>
</html>

  對data 進行輸入到頁面 實現 當前頁面顯示。控制  #txtimg 的值為 輸出的data值 即為 圖片地址。

後期 如果需要 iframe 調用的話 可以把 

document.getElementById('txtimg').src=data;  可以把data 傳輸到父頁面 的 #txtimg 中。
parent.document.getElementById('txtimg').src=data;

 <img width="100" height="100" id="txtimg" src="https://www.aspphp.online/bianchen/UploadFiles_4619/201701/2017011709395123.jpg">

 DEMO:

http://hxend.com/uploadif/

 

博文歸石頭和博客園所有,轉載請注明出處,方便更新。  http://www.cnblogs.com/webers/p/4162108.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved