使用 url var 下载文件 Curl

2024-01-10

我想用 Curl 下载文件。 问题是下载链接不是直接的,例如:

http://localhost/download.php?id=13456

当我尝试使用curl下载文件时,它下载文件download.php!

这是我的卷曲代码:

        ###
        function DownloadTorrent($a) {
                    $save_to = $this->torrentfolder; // Set torrent folder for download
                    $filename = str_replace('.torrent', '.stf', basename($a));

                    $fp = fopen ($this->torrentfolder.strtolower($filename), 'w+');//This is the file where we save the information
                    $ch = curl_init($a);//Here is the file we are downloading
                    curl_setopt($ch, CURLOPT_ENCODING, "gzip"); // Important 
                    curl_setopt($ch, CURLOPT_TIMEOUT, 50);
                    curl_setopt($ch, CURLOPT_URL, $fp);
                    curl_setopt($ch, CURLOPT_HEADER,0); // None header
                    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); // Binary trasfer 1
                    curl_exec($ch);
                    curl_close($ch);
                    fclose($fp); 
    }

有没有办法在不知道路径的情况下下载文件?


您可以尝试 CURLOPT_FOLLOWLOCATION

TRUE 表示遵循服务器作为一部分发送的任何“Location:”标头 HTTP 标头(注意这是递归的,PHP 将遵循尽可能多的 发送的“Location:”标头,除非 CURLOPT_MAXREDIRS 为 放)。

所以它会导致:

function DownloadTorrent($a) {
    $save_to = $this->torrentfolder; // Set torrent folder for download
    $filename = str_replace('.torrent', '.stf', basename($a));

    $fp = fopen ($this->torrentfolder.strtolower($filename), 'w+');//This is the file where we save the information
    $ch = curl_init($a);//Here is the file we are downloading
    curl_setopt($ch, CURLOPT_ENCODING, "gzip"); // Important 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 50);
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER,0); // None header
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); // Binary transfer 1
    curl_exec($ch);
    curl_close($ch);
    fclose($fp); 
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 url var 下载文件 Curl 的相关文章

  • 选择MySql表数据放入数组中

    我尝试从 mysql 捕获数据并将它们全部放入数组中 认为 users table id name code 1 gorge 2132 2 flix ksd02 3 jasmen skaod2 sql mysql query select
  • SQL 大表中的随机行(使用 where 子句)

    我有一个网站 人们可以在其中对汽车进行投票 向用户展示 4 辆汽车 他 她可以投票选出他们最喜欢的汽车 桌子cars有重要的列 car id int 10 not auto increment so has gaps views int 7
  • PDO::commit() 成功或失败

    The PHP PDO 提交 http www php net manual en pdo commit php文档指出该方法成功时返回 TRUE 失败时返回 FALSE 这是指beginTransaction 和commit 之间的语句执
  • Smarty 3 或更早版本中有类似 Dwoo-s {with} 或 {loop} 的东西吗?

    Dwoo 模板引擎中的 with 和 loop 插件更改变量名称解析的默认上下文 如果在 Dwoo 中您提供模板 arr foo with arr foo arr foo with 有数据 array arr gt array foo gt
  • header() 错误未在 php 中显示

    我写了一个PHP程序 我用session start and header 函数 我知道在向客户端发送任何内容之前应该使用此函数 没关系 但是为了测试 我向客户端发送了一条测试消息echo test 在使用 header 之前 但我没有收到
  • 通过jquery传递搜索参数

    我有一个表单 如果用户输入搜索查询 其参数应通过 jquery 传递 并在获取结果后将结果加载到 div 容器中 由于我不太熟悉 jquery 我该怎么做 html currently the data is being displayed
  • 我如何知道请求是否来自 flash swf?

    我有一个用 flash 开发的应用程序 我需要访问一些 php 文件 因此 如果访问来自 swf 则 php 文件会返回一些数据 如何判断请求是否来自Flash 无需将 get post 变量传递给 php 可能是用户代理 推荐人 请记住
  • 使用 PHP/COM/ADSI/LDAP 更改 AD 密码

    我已经被这个问题困扰了好几天了 我尝试了各种解决方案均无济于事 请帮忙 Problem 我们有两个域控制器 它们不属于我们的管理范围 我们能够通过端口 389 上的 LDAP 进行连接 但无法通过端口 636 安全连接 我们正在开发一个系统
  • $_POST、$_GET 和 $_REQUEST 之间有什么区别?

    我对这些超级全局变量有点困惑 POST GET and REQUEST 在 PHP 中 在 PHP 中哪些场景需要使用这些变量 这三个变量的主要区别是什么 POST是在使用 application x www form urlencoded
  • 如何计算加权平均值?

    我的语言是PHP 但是算法应该是相当通用的 我有一个关联数组 比方说 评级和评级次数 ratings array 1 gt 1 2 gt 3 3 gt 6 4 gt 3 5 gt 3 这相当于 1 2 2 2 3 3 3 3 3 3 4 4
  • 通过 AJAX 发送 XML

    我在 jQuery 中创建了一个 xml 文档 如下所示 var xmlDocument
  • PHP 相等变量

    我想知道是否有任何方法可以检查大量变量是否相等 如果我只有几个变量 我可以这样做 if a b a c b c 但是 如果我有 20 个变量 则需要一些时间来编写所有组合 还有其他方法吗 if count array unique arra
  • 如何从控制器访问 Zend Framework 应用程序的配置?

    我有一个基于 Zend 框架的应用程序快速开始 http framework zend com docs quickstart setup 我已经让演示工作起来 现在正在实例化一个新的模型类来完成一些实际工作 在我的控制器中 我想将配置参数
  • 如何在 PHP 数组中的另一个已知(通过键或指针)元素之后有效地插入元素?

    给定一个数组 a array abc 123 k1 gt v1 k2 gt v2 78 tt k3 gt v3 当其内部指针指向其元素之一时 如何在当前元素之后插入元素 如何在键已知元素 例如 k1 之后插入元素 表现护理 您可以通过使用拆
  • 如何在 Laravel 代码中使用 Artisan 命令?

    如何在我的 php caode Ex 中使用 Artisan 命令行 php artisan version to 您可以从控制器调用 Artisan 命令 如下所示 calling of migrate install Artisan c
  • laravel 5.4 在请求验证之前修改数据[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我有我的自定义请求 它扩展了 Backpack CrudController 现在我想重写 ValidatesWhenResolv
  • Laravel - 覆盖模型 ID

    我正在开发电子书管理系统 我使用 UUID 而不是自动递增整数主键 它工作得很好 protected static function boot parent boot static creating function model model
  • 高效插入和更新时检查唯一性

    我的员工表中有 2 列 每列值必须是唯一的 staff code staff name staff id staff code staff name 1 MGT Management 2 IT IT staff 当向表中插入或更新项目时 我
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • 如何获取 URL 中未知的 $_GET 值的数组?

    我正在使用一个在线购物车 它接受订购的商品并通过 URL 将其唯一 ID 传递到 process php 页面 所以 URL 看起来像这样 process php code 1 231 code 2 532 code 3 342 Anoth

随机推荐

  • 可移植的比较和交换(原子操作)C/C++ 库?

    是否有任何小型库 可以将各种处理器的类似 CAS 的操作包装成可跨多个编译器移植的宏或函数 PS The 原子 hpp库 http www boost org doc libs 1 39 0 boost interprocess detai
  • MongooseError:Model.findOne() 不再接受 Function 的回调

    我在设置 mongoose 时遇到了问题 这是我的代码 const SlashCommandBuilder require discordjs builders const testSchema require Schemas js tes
  • Java 中的 Hbase CopyTable

    我想将一个 Hbase 表复制到另一个具有良好性能的位置 我想重用 CopyTable java 中的代码Hbase 服务器 github 页面 https github com apache hbase blob master hbase
  • Android 4.3 之前使用 SimpleDateFormat 的“ZZZZZ”(+03:00) 作为时区

    我在用着SimpleDateFormat有格式yyyy MM dd T HH mm ssZZZZZ 预期输出为 2014 08 26T13 00 14 03 00 但是 仅从 Android 4 3 开始支持 ZZZZZ 结果如下 以上4
  • 为使用 Electron 创建的应用程序签名 Windows 安装程序 (.exe)

    我有一个使用构建的简单应用程序电子框架 我使用以下方式打包了代码electron packager interactive 我还创建了一个Windows 安装程序文件可以使用 Inno Setup 编译器 单个 exe 文件 进行分发 这里
  • Angular 2 中条件必需的验证器指令

    我需要根据其他字段的值将某些表单字段设置为必需或不必需 内置的必需的验证器 https angular io docs ts latest api common RequiredValidator directive html指令似乎不支持
  • C# SecureString 问题

    有没有什么方法可以在不影响安全性的情况下获取 SecureString 的值 例如 在下面的代码中 一旦执行 PtrToStringBSTR 字符串就不再安全 因为字符串是不可变的 并且垃圾收集对于字符串来说是不确定的 IntPtr ptr
  • Android Spinner 设置选择与 2 向绑定

    当配置了 2 路数据绑定时 我正在努力获取一些与 Android spinner 一起使用的功能 我想通过 2 路数据绑定设置微调器的初始值android selectedItemPosition 微调器条目由 ViewModel 初始化并
  • 在之前更改背景颜色后禁用时,JTextField 的背景颜色不会变为“灰色”

    通常当你使用setEditable false or setEnabled false JTextField 的背景 前景色变为 灰色 但是 如果先前已使用设置背景颜色setBackground color 例如white 然后调用setE
  • 所有 Redis 命令都是异步的吗?

    我是 Redis 和 Node JS 的新手 并且一直在尝试将两者一起使用 然而 我对可以一个接一个地使用哪些功能感到有点困惑 随着数据库大小的增加 以下代码似乎同步运行 client dbsize function err numKeys
  • 如何检查 React-Native ES6 中是否安装了组件

    我在我的应用程序中设置一个侦听器 并在广播时使用强制更新 但它给出错误 forceUpdate 无法在未安装的组件上调用 现在如何检查组件是否已安装isMounted 函数已被弃用 use strict var React require
  • 从 C++ 访问 Java 类的最佳方式? (比直接使用JNI更好)

    我必须将一个大型 Java 库集成到一个相当大的 C 应用程序中 解决方案是使用 JNI 但这需要手动编写所有类的代码 例如 Python 有一个很棒的 JPype 解决方案 http jpype sourceforge net http
  • 如何使用雷达获取某个地址的价值

    如果我使用radare2 并且我运行 可以说dr在调试时 它会打印一些寄存器的指针 让我们假装像esp正在解决0x04084308或类似的东西 如果我想得到的值esp指的是 我该怎么做 提前致谢 print rsp寄存器值 0x560207
  • 如何使用命令行将 SQL 查询导出到 TXT

    我要出口select from table从 Linux 命令行将结果保存到文本文件 我该怎么做 谢谢 让 look at link http www tech recipes com rx 1475 save mysql query re
  • C# 中从 1 到 N 的数字相加

    我正在用 C 编写代码 并尝试添加数字 1 和 N 之间的所有数字 N 是在文本框中输入的数字 我正在这样做 至少尝试通过将其放入 while 循环中来做到这一点 我之前已经添加了两个文本框之间的所有数字 但由于某种原因 我快把自己逼疯了
  • 如何将本地MySQL数据库部署到Heroku

    我是 Heroku 的新手 我有一个 Ruby Sinatra 应用程序 我计划在其中使用 MySQL 数据库作为主要数据存储 但是 我不想将结果直接写入 Heroku 上的数据库 相反 我想将结果写入本地数据库 然后能够轻松地将本地数据库
  • 如何使 dataview.list 在 Sencha Touch 2 中可见?

    这里是 Sencha Touch 新手 也就是说 在过去一天左右的时间里 我一直在慢慢地思考这个问题 让我发疯的一件事是表单面板和列表由于某些奇怪的布局原因而没有显示 我不明白为什么 例如 我有以下搜索视图 Ext define NC vi
  • Python lxml - 获取标签文本的索引

    我有一个格式类似于 docx 的 xml 文件 即
  • 100%全屏Colorbox(jquery lightbox)滚动条不会替换或覆盖基础层的滚动条

    在下面的段落中 我将介绍当我使用全屏灯箱时两个滚动条彼此相邻的问题 基础层 初始 html 的滚动条和 iframe 灯箱 的滚动条 我想删除或覆盖基本滚动条 在我的基本页面设计中 我有一个按行排列的投资组合项目的垂直列表 该页面旨在滚动
  • 使用 url var 下载文件 Curl

    我想用 Curl 下载文件 问题是下载链接不是直接的 例如 http localhost download php id 13456 当我尝试使用curl下载文件时 它下载文件download php 这是我的卷曲代码 function D