Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用函数文件\u get\u contents()的结果很奇怪_Php - Fatal编程技术网

Php 使用函数文件\u get\u contents()的结果很奇怪

Php 使用函数文件\u get\u contents()的结果很奇怪,php,Php,我正在尝试使用该工具获取URL的内容 文件获取内容(“”); 但是结果很奇怪,有人能告诉我为什么会有这样的结果吗 FTYPMP42MP42MP41MP41ISOMAVC1›moovlmvhdÒÒÒÒÒÒÒÿÿÿÿÿÿÿÿÿÿ€trak\tkhdÒ(1966年6月6日)6月6日6月6日6月6日6月6日6月6日6月6月6日高清视频视频粉碎视频手视频手视频手粉碎视频手,视频手视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,

我正在尝试使用该工具获取URL的内容 文件获取内容(“”); 但是结果很奇怪,有人能告诉我为什么会有这样的结果吗


FTYPMP42MP42MP41MP41ISOMAVC1›moovlmvhdÒÒÒÒÒÒÒÿÿÿÿÿÿÿÿÿÿ€
trak\tkhdÒ(1966年6月6日)6月6日6月6日6月6日6月6日6月6日6月6月6日高清视频视频粉碎视频手视频手视频手粉碎视频手,视频手视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频手,视频,视频,ššššššššššššššššš–šš––šš––šš––šš––šš––šš––šš––šš––šš––šš––šš––šš––šš––š¦––šš––šš––šš––šš––šš––šš––šš––šš––šš––šš––šš––šš––šš––šš––š¦––šš––šš––šš––šš––šš––ššššššššššššššššššššššššššššššššššššššššššššš353

http://player.vimeo.com/external/155119694.sd.mp4?s=56e2df64c6b098a7c9a7402c7f6179201e44a029&profile_id=112&oauth2_token_id=407699588

…在本例中被重定向到不同的URL(您可以通过浏览器轻松验证):

https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/01/1023/6/155119694/480188332.mp4?token=56bf93f0_0x229f060ec6a77cfd556b0e21fec1171b822cd30c

当您希望将其本地存储到客户端工作站时,您的代码可能如下所示:

代码

笔记
  • 但这段代码还没有经过测试
  • 重定向会添加一个令牌,该令牌在每次发出请求时都会更改。
    此令牌可能会超时,当超时时,必须重复使用原始URL的请求,以获得具有有效令牌的重定向URL。您可以将此称为“黑客预防”
  • 你现在有一套操作这个网址-希望学习

您正在下载MP4文件。这可能是MP4视频文件的内容。您想做什么?是否将视频存储在本地?我需要获取视频的源URL,因为此URL位于SRC=“”只是重定向到视频的URL源,但在重定向后我无法在不离开页面的情况下获取视频的源URL。我需要在不直接在浏览器中运行的情况下获取URL:你真的没有帮自己任何忙,在这些糟糕的问题上留下答案。要了解重定向的URL是什么,你可以使用get_headers函数。然后查找位置数组。此数组包含两个条目:原始URL和重定向URL。谢谢!!我可以使用get_headers()解决此问题
<?php

    $url_original = 'http://player.vimeo.com/external/155119694.sd.mp4?s=56e2df64c6b098a7c9a7402c7f6179201e44a029&profile_id=112&oauth2_token_id=407699588';
    $url_redirected = '';

    // Get redirection
    $headers = get_headers($url_original,1);
    $url_redirected = $headers['Location'][1];
    echo "<p>Original URL = <br />$url_original </p>";
    echo "<p>Redirected URL from \$headers['Location'][1] = <br />$url_redirected </p>";
    // echo 'All the headers:<pre>'; print_r($headers); echo '</pre>';

    // Get the file from the original server
    $video = file_get_contents($url_redirected);

    // Store the file to local server
    // $filename = '/downloaded_video.mp4';
    $filename = dirname(__FILE__) . '/downloaded_video.mp4';
    file_put_contents($filename , $video); 

    // Download to the client workstation
    header('Content-Disposition: attachment; filename=downloaded_video.mp4');
    header('Content-type: video/mp4');
    echo $video;

?>