【发布时间】:2015-07-28 20:59:11
【问题描述】:
很抱歉标题令人困惑,但我尽量精简它。澄清一下,我公司提供了一组产品,可以从我们的网站(免费)下载(下载为 zip 文件)。在我们的产品中,我们包含一些当前托管在我们个人服务器上的视频,但我们也有托管在 Vimeo 上的视频。为了减少服务器流量和下载时间,有人问了这个问题,“我们可以从 Vimeo 而不是我们自己的服务器运行视频下载”吗?这个问题的答案是肯定的,事实上 Vimeo(如果您是专业会员)提供了不同的方式来下载您自己的个人视频,无论是通过他们的 API 还是视频设置中的永久链接。我决定采用永久链接路线,因此通过视频设置 Vimeo 提供了 5 个不同的链接,每个链接都根据所需的质量(耶!)。
但是,我的问题是,是否有某种方法可以通过 php 或 html 在下载页面上创建下拉选择,并且取决于您选择的选择(由于带宽等),我们提供的内容会随视频一起下载在我们产品的正确文件结构中?
让我澄清一下,不是放在下载的 zip 旁边,而是放在里面。
例如,假设我的文件结构如下所示:
Product
Books (folder)
Videos (folder)
Other_content (folder)
index.html (file)
并且视频存在于“Product/Videos/example.mp4”中。该文件存在于我的服务器上,但我希望客户改为从 Vimeo 下载它。假设我在下面有一个基本形式:
<form method="post">
<select name="videoQuality">
<option name="formSelect" value="Select">Select...</option>
<option name="formHD1080" value="HD1080">High Definition (1080p)</option>
<option name="formHD" value="HD">High Definition</option>
<option name="formSD" value="SD">Standard Definition</option>
<option name="formMobile" value="Mobile">Mobile</option>
</select>
<br><br>
<input type="submit" name="formSubmit" value="Download">
</form>
有没有办法让表单选项影响下载的文件来代替“Product/Videos/example.mp4”?而不是放在一边(只是为了让客户不必弄乱文件树)。
【问题讨论】:
-
如果视频在网络上公开提供,为什么要发送文件而不仅仅是链接?
-
为了澄清,您希望在每次用户下载此包时从 Vimeo 下载视频并将其压缩为 zip 文件?
-
似乎这将涉及通过 JavaScript 操作 zip 文件客户端。这些天用 JS 可以做的事情真是太神奇了,但这可能会推动它。这些 zip 文件有多少个“组合”?如果有限,您可以创建它们并通过 CDN 或其他方式为它们提供服务吗?
-
你可以。你只需要获取文件。如果您知道路径,可以通过
file_get_contents()获取。但这也会在您的服务器上产生使用情况... -
你的产品是网站结构吗?为什么不直接在 index.html 中嵌入 vimeo 视频,而不是从视频文件夹中链接它们?
标签: php video download zip vimeo