为了账号安全,请及时绑定邮箱和手机立即绑定

如何在php中下载文件

如何在php中下载文件

PHP
明月笑刀无情 2023-08-11 10:47:01
我想下载 php 中的图像文件。<?phpif(isset($_REQUEST["file"])){    $filepath = BASE_URL.'assets/uploads/save_template_images/template1_221594899972.png';    // Process download    if(file_exists($filepath)) {        echo $filepath;        exit;        header('Content-Description: File Transfer');        header('Content-Type: application/octet-stream');        header('Content-Disposition: attachment; filename="'.basename($filepath).'"');        header('Expires: 0');        header('Cache-Control: must-revalidate');        header('Pragma: public');        header('Content-Length: ' . filesize($filepath));        flush(); // Flush system output buffer        readfile($filepath);        die();    } else {        echo $filepath;        exit;        http_response_code(404);        die();    }} ?>在我的索引页面中,我有一个锚标记,如果单击锚标记,则运行上面的代码。我没有显示锚标记,因为我将$filepath静态值放在上面的代码中。当我运行上面的代码时,它会进入其他条件。我认为,上面的代码没有采用项目的完整路径。如果我将图像放在同一文件夹中,则会下载。
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

首先确保文件allow_url_fopen中的设置php.ini已打开。之后使用此代码下载您的文件:


<?php

    $url = 'https://lokeshdhakar.com/projects/lightbox2/images/image-5.jpg';

    $file = './files/'.basename($url);

    file_put_contents($file, file_get_contents($url));

?>

为了成功下载,文件目录必须存在。但我认为添加目录存在检查效率很低,因为我认为您已经知道在哪里保存正在下载的文件。



查看完整回答
反对 回复 2023-08-11
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信