文件下载未保存到下载文件夹中

文凯悟里

我希望从Web服务器上下载带有下载进度信息的文件。为此,PHP cURL似乎是最佳选择。

但是,我很难将下载的文件放置在通常会下载所有Web文件的Downloads文件夹中。我使用以下文件下载例程:

$fp = fopen(dirname(__FILE__) . 'uploaded.pdf', 'w+');
$url = "file:///D:/WEB/SAIFA/WWW/PickUpTest.pdf";    
$ch = curl_init(str_replace(" ","%20", $url));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_BUFFERSIZE, 1024*8);
curl_setopt($ch, CURLOPT_NOPROGRESS, false );
curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, 'progressCallback' );
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt( $ch, CURLOPT_FILE, $fp );
curl_exec( $ch );
curl_close($ch);
fclose($fp);
unset($fp);

我的问题是,将文件无提示下载到我的WWW文件夹中,而不是下载文件夹,我的PHP脚本(包括该cURL)驻留在该文件夹中。我也没有“文件下载另存为”对话框。

为了强制“另存为”对话框,我在脚本的开头添加了以下标头:

header("Content-Disposition: attachment; filename=\"uploaded.pdf\"");
$fp = fopen(dirname(__FILE__) . 'uploaded.pdf', 'w+');
...

使用标题后,我将看到“另存为”对话框,但是该文件仍使用我的PHP脚本静默下载到该文件夹​​中。在“下载”文件夹中,保存了文件大小为0的文件“ uploaded.pdf”。

我的问题是,如何使PHP cURL正确下载文件并将其放入“下载”文件夹并提供“另存为”对话框?

我用:

  • WAMP
  • Windows 7的
  • PHP版本5.4.12
  • 卷毛版本7.29.0
克拉特帐篷

通过使用这些file功能,您实际上是在要求服务器保存文件,这样才有可能将cURL调用结果保存在您的PHP文件夹中。

如果我理解问题,您真正想要的是将cURL的结果发送回浏览器。通过发送header(...)-,您就已经到达一半了,它可以使用户的浏览器知道文件正在下载,应该下载该文件,而您错过的步骤是发送带有标头的cURL数据。

保存文件后,您可以回显文件的内容,或者更有效地(假设您不需要文件的额外副本),删除代码以将文件保存在本地,并删除cURL选项CURLOPT_RETURNTRANSFER这将告诉cURL直接发送输出,因此它将成为下载数据。

希望对您有所帮助!

编辑一个简单的示例,它获取一个本地文件(C:\test.pdf)并将其发送到用户的浏览器(如uploaded.pdf)。

<?php

header("Content-Disposition: attachment; filename=\"uploaded.pdf\"");
// Get a FILE url to my test document
$url = 'file://c:/test.pdf';    
$url= str_replace(" ","%20", $url);
$ch= curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_exec( $ch );

curl_close ($ch); 

希望能有所帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

下载文件夹永久保存

来自分类Dev

Flutter-将文件保存到下载文件夹-downloads_path_provider

来自分类Dev

下载文件夹?

来自分类Dev

将图像保存到 Android 上的下载文件夹

来自分类Dev

如何将下载的文件(音频、文档)自动保存到 mac os x 沙盒应用程序中的用户下载文件夹?

来自分类Dev

在 ios 中为 ionic 3 下载文件未显示在文件夹中

来自分类Dev

将文件下载到“下载”文件夹中未保存

来自分类Dev

如何删除下载文件夹中的文件

来自分类Dev

从ftp下载文件并保存在同一文件夹中

来自分类Dev

下载文件夹的常规路径

来自分类Dev

限制下载文件夹的权限

来自分类Dev

从GitHub下载文件夹结构

来自分类Dev

获取公共Dropbox文件夹中的文件和文件夹列表并下载文件

来自分类Dev

如何更改Chrome中的默认下载文件夹?

来自分类Dev

如何将图片自动下载并保存到 HTML 中的指定文件夹?

来自分类Dev

PHP上载文件未保存到上载文件夹

来自分类Dev

在Linux中-如何设置文件夹的权限,以保存用于客户端应用调用的文件并下载文件

来自分类Dev

DownloadManager不在下载文件夹中存储下载的文件

来自分类Dev

将文件下载到Flutter中的设备下载文件夹

来自分类Dev

如何按下载日期对下载文件夹中的文件进行排序?

来自分类Dev

DownloadManager不在下载文件夹中存储下载的文件

来自分类Dev

Nearby Connections:为什么下载文件夹中的负载文件为空?

来自分类Dev

在Flutter中将文件保存到下载文件时出错

来自分类Dev

在Firefox的扩展程序文件夹中下载文件并将其保存?

来自分类Dev

如何自动下载.gem文件(包括依赖项)并将.gem保存到一个文件夹中?

来自分类Dev

在应用程序中创建CSV或TXT文件并将其保存到“下载”文件夹-Android

来自分类Dev

PowerShell FTP下载文件和子文件夹

来自分类Dev

图像未保存到定义的文件夹中

来自分类Dev

下载文件以使用phonegap下载文件夹ios / android

Related 相关文章

  1. 1

    下载文件夹永久保存

  2. 2

    Flutter-将文件保存到下载文件夹-downloads_path_provider

  3. 3

    下载文件夹?

  4. 4

    将图像保存到 Android 上的下载文件夹

  5. 5

    如何将下载的文件(音频、文档)自动保存到 mac os x 沙盒应用程序中的用户下载文件夹?

  6. 6

    在 ios 中为 ionic 3 下载文件未显示在文件夹中

  7. 7

    将文件下载到“下载”文件夹中未保存

  8. 8

    如何删除下载文件夹中的文件

  9. 9

    从ftp下载文件并保存在同一文件夹中

  10. 10

    下载文件夹的常规路径

  11. 11

    限制下载文件夹的权限

  12. 12

    从GitHub下载文件夹结构

  13. 13

    获取公共Dropbox文件夹中的文件和文件夹列表并下载文件

  14. 14

    如何更改Chrome中的默认下载文件夹?

  15. 15

    如何将图片自动下载并保存到 HTML 中的指定文件夹?

  16. 16

    PHP上载文件未保存到上载文件夹

  17. 17

    在Linux中-如何设置文件夹的权限,以保存用于客户端应用调用的文件并下载文件

  18. 18

    DownloadManager不在下载文件夹中存储下载的文件

  19. 19

    将文件下载到Flutter中的设备下载文件夹

  20. 20

    如何按下载日期对下载文件夹中的文件进行排序?

  21. 21

    DownloadManager不在下载文件夹中存储下载的文件

  22. 22

    Nearby Connections:为什么下载文件夹中的负载文件为空?

  23. 23

    在Flutter中将文件保存到下载文件时出错

  24. 24

    在Firefox的扩展程序文件夹中下载文件并将其保存?

  25. 25

    如何自动下载.gem文件(包括依赖项)并将.gem保存到一个文件夹中?

  26. 26

    在应用程序中创建CSV或TXT文件并将其保存到“下载”文件夹-Android

  27. 27

    PowerShell FTP下载文件和子文件夹

  28. 28

    图像未保存到定义的文件夹中

  29. 29

    下载文件以使用phonegap下载文件夹ios / android

热门标签

归档