猿问

如何创建URL以使用HTML和PHP自动下载文件?

我的问题:


我希望能够向我的客户发送类似的链接,mywebsite.com/products以便他们可以下载.xlsx文件并查看我在给atm播种的内容。


有什么方法可以创建类似“ www.mywebsite.com/file”的链接,以便当用户访问该URL时,浏览器将打开提示下载.xlsx文件的提示?


这是我的products.html档案:


<!DOCTYPE html>

<html>

  <head>

    <meta http-equiv="Refresh" content="0; url=http://mywebsite.com/products.xlsx"/>

  </head>

</html>

我已经将其上传products.xlsx到了我的服务器。


我注意到,如果我使用扩展名访问该网站.html,则会提示用户下载文件。如果我访问时没有扩展名,则会导致404错误。


也许是我的.htaccess配置引起了这个问题?


也许Options +MultiViews是HTML RewriteCond..


Options All -Indexes


DirectoryIndex index.php index.htm index.html


RewriteEngine on

RewriteBase /


# ---- Make pages render without their extension in the url

Options +MultiViews



# Force HTTPS on the subdomains/subdirectories login or admin

#RewriteCond %{HTTPS} off

#RewriteCond %{HTTP_HOST} ^(login|admin)\. [NC]

#RewriteCond %{REQUEST_URI} ^(login|admin)\. [NC,OR]

#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


# Force WWW if no subdomain is given

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$

RewriteCond %{HTTP_HOST} !^$

RewriteCond %{HTTPS}s ^on(s)|

RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


# Remove php

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^\.]+)$ $1.php [NC,L]


# Remove html

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^\.]+)$ $1.html [NC,L]

我怎样才能解决这个问题?


青春有我
浏览 242回答 2
2回答

largeQ

如果要在加载网页时使用PHP来提供xlsx文件,请执行以下操作:<?php$fileName = 'Products.xlsx';$filePath = "[PATH]/products.xlsx";header('Content-disposition: attachment; filename=' . $fileName);header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');header('Content-Length: ' . filesize($filePath));header('Content-Transfer-Encoding: binary');header('Cache-Control: must-revalidate');header('Pragma: public');readfile($filePath);将[PATH]替换为您的文件路径。
随时随地看视频慕课网APP
我要回答