Heim Backend-Entwicklung PHP-Tutorial 只有100多行PHP 代码的七牛云离线下载

只有100多行PHP 代码的七牛云离线下载

Jun 23, 2016 pm 01:06 PM

下载谷歌上面的android studio的程序包,速度实在太慢了。然后弄了个 php+shell 脚本的七牛云下载和 for codeigniter 版本的。今天又花了点时间来整理成 PHP 的。(PS:有个写法是用??这种 PHP7的新特征,可自行修改成 PHP5的)首发于:https://www.zzzzy.com/201605084032.html 持续更新 Github: [https://github.com/skiy/dev/blob/master/api/qiniu.php](https://github.com/skiy/dev/blob/master/api/qiniu.php)```<?php/** * 七牛云离线下载 * qiniu.php * @author  : Skiychan <dev@skiy.net> * @link    : https://www.zzzzy.com * @created : 5/8/16 * @modified: * @version : 0.0.1 * @doc     : https://www.zzzzy.com/201605084032.html * 用了点 PHP7的新特征:?? 和 PHP5高版本的 [] 代替 array(),可自行修改 */$thisPage = basename($_SERVER['PHP_SELF']);if (empty($_POST)) {    ?>    <!DOCTYPE html>    <html lang="en">    <head>        <meta charset="UTF-8">        <title>七牛云离线下载</title>        <style>            input {                display: block;            }            input[type=text] {                width: 360px;            }        </style>    </head>    <body>    <form action="<?php echo $thisPage; ?>" method="post">        <input type="text" name="url" id="url" placeholder="请输入链接" required>        <input type="text" name="name" id="name" placeholder="请输入保存的文件名">        <input type="submit" name="submit" value="提交">    </form>    </body>    </html>    <?php    die;}$url = $_POST['url'] ?? "";  //PHP7//$url = isset($_POST['url']) ? $_POST['url'] : "";  //PHP5if (empty($url)) {    header("Location: ".$thisPage);}function urlsafe_base64_encode($data) {    $find = array('+', '/');    $replace = array('-', '_');    return str_replace($find, $replace, base64_encode($data));}function hmac_sha1($str, $key) {    return hash_hmac("sha1", $str, $key, true);}//七牛云配置,请到七牛云上面申请帐号并填写密钥和bucketdefine("AccessKey", "AccessKey_12345689");define("SecretKey", "SecretKey_98764231");define("BUCKET", "Your bucket");define("HOST", "http://iovip.qbox.me");define("DOMAIN", "Your domain");$uploadFormat = "%s/fetch/%s/to/%s";$encodeURI = urlsafe_base64_encode($url);if (! empty($_POST['name'])) {    $entry = BUCKET.':'.$_POST['name'];} else {    $entry = BUCKET.':'.time()."_".explode('?', basename($url))[0];}$encodedEntryURI = urlsafe_base64_encode($entry);$uploadURL = sprintf($uploadFormat, HOST, $encodeURI, $encodedEntryURI);$parse = parse_url($uploadURL);$path = $parse['path'];$signingStr = isset($parse['query']) ? $path."?".$parse['query']."\n" : $path."\n";$sign = hmac_sha1($signingStr, SecretKey);$encodedSign = urlsafe_base64_encode($sign);$accessToken = AccessKey.":{$encodedSign}";$headers = [    "Authorization: QBox ".$accessToken,    "Content-Type: application/x-www-form-urlencoded",];$ch = curl_init();// 设置URL和相应的选项curl_setopt($ch, CURLOPT_URL, $uploadURL);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_TIMEOUT, 60);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);$data = curl_exec($ch);curl_close($ch);$data_obj = json_decode($data);if (isset($data_obj->error)) {    echo "下载失败,<a href='javascript: history.back(-1)'>返回上一页</a>";} else {    $data_obj->key = DOMAIN.$data_obj->key;    echo "下载成功,您的下载地址为:<a href='{$data_obj->key}' target='_blank'>{$data_obj->key}</a><br /><a href='javascript: history.back(-1)'>返回上一页</a>";    //echo json_encode($data_obj);}```
Nach dem Login kopieren

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) 11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) Mar 03, 2025 am 10:49 AM

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Einführung in die Instagram -API Einführung in die Instagram -API Mar 02, 2025 am 09:32 AM

Einführung in die Instagram -API

Arbeiten mit Flash -Sitzungsdaten in Laravel Arbeiten mit Flash -Sitzungsdaten in Laravel Mar 12, 2025 pm 05:08 PM

Arbeiten mit Flash -Sitzungsdaten in Laravel

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Mar 04, 2025 am 09:33 AM

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Mar 12, 2025 pm 05:09 PM

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

12 Beste PHP -Chat -Skripte auf Codecanyon

Benachrichtigungen in Laravel Benachrichtigungen in Laravel Mar 04, 2025 am 09:22 AM

Benachrichtigungen in Laravel

See all articles