gpt4 book ai didi

PHP:将文件从网络下载到本地计算机

转载 作者:搜寻专家 更新时间:2023-10-31 20:47:50 25 4
gpt4 key购买 nike

我在网上搜索了 2 天,找不到答案。

我正在尝试创建一个例程来显示我控制的站点上的文件,并允许用户将选定的文件下载到本地驱动器。

我正在使用下面的代码。当我取消注释 echo 语句时,它会显示正确的源目录和目标目录、正确的文件大小以及 fclose 显示 TRUE 后的回显。

当我回显源文件($data)时,它显示正确的内容。

$FileName 变量包含正确的文件名,即 .doc/.docx 或 .pdf。我已经测试了两者,但都没有将任何内容保存到目标目录或我机器上的其他任何地方。

源路径($path)在登录后,但我已经登录了。

对于写入文件失败的原因有什么想法吗?

谢谢,汉克

代码:

$path = "https://.../Reports/ReportDetails/$FileName";
/* echo "Downloading: $path"; */
$data = file_get_contents($path); /* echo "$data"; */
$dest = "C:\MyScans\\".$FileName; /* echo "<br />$dest"; */
$fp = fopen($dest,'wb');
if ( $fp === FALSE ) echo "<br />Error in fopen";
$result = fwrite($fp,$data);
if ( $result === FALSE ) echo "<br />Can not write to $dest";
/* else echo "<br />$result bytes written"; */
$result = fclose($fp); /* echo "<br />Close: $result"; */

最佳答案

我认为 (!) 你有点困惑。

你提到

allows the user to download a selected file to a local drive.

但是路径"C:\MyScans\\".$FileName网络服务器上的路径,不是用户自己电脑上的路径。

在您采取任何措施从远程网站检索所需文件后:

  1. 从中创建一个文件并使用 header('Location:/path/to/file.txt');

    将用户重定向到该文件
  2. 插入以下标题:

    header('Content-disposition: attachment; filename=path/to/file.txt');

它强制用户下载文件。这可能就是您想要做的

注意:我使用了扩展名txt,但你可以使用任何扩展名

关于PHP:将文件从网络下载到本地计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11370371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com