如何将PHP结合OSS Web直传应用于长尾关键词优化?

2026-04-05 15:389阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计712个文字,预计阅读时间需要3分钟。

如何将PHP结合OSS Web直传应用于长尾关键词优化?

本篇文章将简要介绍如何使用PHP结合OSS实现Web端直传。该方案具有参考价值,有需要的友人可参考以下内容,希望对大家有所帮助。

前言:直传优势

直传优点:- 无需经过服务器,直接由前端传输到OSS,减少服务器压力。- 由前端直接处理上传,简化后端逻辑。

具体步骤

1. 准备工作: - 在阿里云OSS控制台创建存储空间。 - 获取Bucket的访问密钥(AccessKey ID和AccessKey Secret)。

2. PHP代码实现:

php

// 设置上传文件的路径$localFilePath='path/to/your/file';

// 设置上传到OSS的文件名$ossFilePath='your/bucket-name/oss-file-name';

// 上传文件到OSStry { $ossClient->uploadFile($ossFilePath, $localFilePath); echo 文件上传成功!;} catch (Exception $e) { echo 文件上传失败: . $e->getMessage();}?>

总结

使用PHP结合OSS实现Web端直传可以简化后端逻辑,提高上传效率。希望本文对大家有所帮助。

如何将PHP结合OSS Web直传应用于长尾关键词优化?

本篇文章给大家介绍一下php使用oss web直传。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

前言

直传优点: 无需经过服务器,由前端直传到 oss,因此可以减少服务器带宽使用 和 加快用户上传速度。

本篇讲的这个不需要安装扩展包,仅有直传功能,是非常轻量的。

我是参考github.com/iiDestiny/flysystem-oss来写的,如果你需要在 php 使用其他的 oss 功能,那么扩展包更合适。

创建OssUploadSignature.php

<?php namespace Service;class OssUploadSignature{ private $accessKeyId; private $accessKeySecret; private $expire = 300; // 5分钟有效期 private $bucketHost; // Bucket 域名 private $conditions = [ // 限制 [ 'content-length-range', // 内容限制 0, // 最小上传 10 * 1024 * 1024 // 最大上传10m ], [ 0 => 'starts-with', 1 => '$key', // 必须带key 2 => 'images/', // 如:/images 只能放在/images的路径 ] ]; public function setBucketHost($bucketHost) { $this->bucketHost = $bucketHost; return $this; } public function setAccessKeyId($accessKeyId) { $this->accessKeyId = $accessKeyId; return $this; } public function setAccessKeySecret($accessKeySecret) { $this->accessKeySecret = $accessKeySecret; return $this; } public function signatureConfig() { $end = time() + $this->expire; $arr = [ 'expiration' => $this->gmt_iso8601($end), 'conditions' => $this->conditions, ]; $base64Policy = base64_encode( json_encode($arr) ); $signature = base64_encode(hash_hmac('sha1', $base64Policy, $this->accessKeySecret, true)); return [ 'OSSAccessKeyId' => $this->accessKeyId, 'policy' => $base64Policy, 'signature' => $signature, 'expire' => $end, 'bucketHost' => $this->bucketHost ]; } // fix bug connect.console.aliyun.com/connect/detail/162632 public function gmt_iso8601($time) { return (new \DateTime(null, new \DateTimeZone('UTC')))->setTimestamp($time)->format('Y-m-d\TH:i:s\Z'); }}

运行

Postman测试

小心bug

bucketHost 可以在 oss 查看。

复制 policy 的时候 注意是否有换行符(我都没注意…)

本文共计712个文字,预计阅读时间需要3分钟。

如何将PHP结合OSS Web直传应用于长尾关键词优化?

本篇文章将简要介绍如何使用PHP结合OSS实现Web端直传。该方案具有参考价值,有需要的友人可参考以下内容,希望对大家有所帮助。

前言:直传优势

直传优点:- 无需经过服务器,直接由前端传输到OSS,减少服务器压力。- 由前端直接处理上传,简化后端逻辑。

具体步骤

1. 准备工作: - 在阿里云OSS控制台创建存储空间。 - 获取Bucket的访问密钥(AccessKey ID和AccessKey Secret)。

2. PHP代码实现:

php

// 设置上传文件的路径$localFilePath='path/to/your/file';

// 设置上传到OSS的文件名$ossFilePath='your/bucket-name/oss-file-name';

// 上传文件到OSStry { $ossClient->uploadFile($ossFilePath, $localFilePath); echo 文件上传成功!;} catch (Exception $e) { echo 文件上传失败: . $e->getMessage();}?>

总结

使用PHP结合OSS实现Web端直传可以简化后端逻辑,提高上传效率。希望本文对大家有所帮助。

如何将PHP结合OSS Web直传应用于长尾关键词优化?

本篇文章给大家介绍一下php使用oss web直传。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

前言

直传优点: 无需经过服务器,由前端直传到 oss,因此可以减少服务器带宽使用 和 加快用户上传速度。

本篇讲的这个不需要安装扩展包,仅有直传功能,是非常轻量的。

我是参考github.com/iiDestiny/flysystem-oss来写的,如果你需要在 php 使用其他的 oss 功能,那么扩展包更合适。

创建OssUploadSignature.php

<?php namespace Service;class OssUploadSignature{ private $accessKeyId; private $accessKeySecret; private $expire = 300; // 5分钟有效期 private $bucketHost; // Bucket 域名 private $conditions = [ // 限制 [ 'content-length-range', // 内容限制 0, // 最小上传 10 * 1024 * 1024 // 最大上传10m ], [ 0 => 'starts-with', 1 => '$key', // 必须带key 2 => 'images/', // 如:/images 只能放在/images的路径 ] ]; public function setBucketHost($bucketHost) { $this->bucketHost = $bucketHost; return $this; } public function setAccessKeyId($accessKeyId) { $this->accessKeyId = $accessKeyId; return $this; } public function setAccessKeySecret($accessKeySecret) { $this->accessKeySecret = $accessKeySecret; return $this; } public function signatureConfig() { $end = time() + $this->expire; $arr = [ 'expiration' => $this->gmt_iso8601($end), 'conditions' => $this->conditions, ]; $base64Policy = base64_encode( json_encode($arr) ); $signature = base64_encode(hash_hmac('sha1', $base64Policy, $this->accessKeySecret, true)); return [ 'OSSAccessKeyId' => $this->accessKeyId, 'policy' => $base64Policy, 'signature' => $signature, 'expire' => $end, 'bucketHost' => $this->bucketHost ]; } // fix bug connect.console.aliyun.com/connect/detail/162632 public function gmt_iso8601($time) { return (new \DateTime(null, new \DateTimeZone('UTC')))->setTimestamp($time)->format('Y-m-d\TH:i:s\Z'); }}

运行

Postman测试

小心bug

bucketHost 可以在 oss 查看。

复制 policy 的时候 注意是否有换行符(我都没注意…)