首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何生成位于另一台服务器上的下载链接文件

如何生成位于另一台服务器上的下载链接文件
EN

Stack Overflow用户
提问于 2016-11-16 13:12:18
回答 1查看 845关注 0票数 0

我把我的视频放在我的共享网络主机和用户可以直接下载所有文件。但我想隐藏我的实际文件路径,并建立有时限的下载链接。如果文件位于同一台服务器上,则可以正常工作。当我使用这个代码时:

代码语言:javascript
复制
return response()->download('/home2/alihoss1/domains/alihossein.ir/public_html/dl/video/MySql/Sql1.mp4');

我看到这个错误:

代码语言:javascript
复制
is_file(): open_basedir restriction in effect. File(/home2/alihoss1/domains/alihossein.ir/public_html/dl/video/MySql/Sql1.mp4) is not within the allowed path(s): (/home2/alihosse/domains/alihossein.ir/:/tmp/:/usr/local/php-7.0/lib/php/)

您会推荐什么解决方案,؟视频和laravel是不同的主机。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-16 13:43:59

您可以使用类似于内容()的东西从另一台服务器获取文件。但是,这将导致不必要的通信量,因为服务器1将从服务器2下载文件,这也适用于scp等。

你应该考虑一下加密:

代码语言:javascript
复制
$hash = encrypt([
    'valid_to' => strtotime('+30 minutes'),
    'file_path' => '/home2/alihoss1/domains/alihossein.ir/public_html/dl/video/MySql/Sql1.mp4'
]);

return redirect('http://server2.example/download/hash/' . urlencode($hash));

然后,您需要用相同的密钥在第二台服务器上解密。如果没有安装laravel,则可以实现自己的解密功能(请参阅:laravel openssl加密)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40633050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档