允许登录用户在PHP中下载文件,否则没有人不能

kin*_*ohn 5 php

我的网站上有.mp3文件,我想设置我的网站,以便在我的用户登录后可以下载文件.如果用户未登录,则无法下载文件.我不希望任何人能够找到文件的路径.

Ble*_*der 9

我只能通过HTTP请求来访问该文件,而使用PHP,只需将其打印出来:

<?php
session_start();
if (isset($_SESSION['logged_in'])) {
  $file = '/this/is/the/path/file.mp3';

  header('Content-type: audio/mpeg');
  header('Content-length: ' . filesize($file));
  readfile($file);
}
?>
Run Code Online (Sandbox Code Playgroud)

  • `serve_file_if_user_logged_in('foo.mp3');`我正在将它提交给PHP6;) (3认同)

ale*_*lex 2

  • 将 MP3 文件放在文档根目录之上,或者如果不可能,请拒绝对它们的访问.htaccess(如果使用 Apache)。
  • 验证用户是否已登录。
  • readfile()当用户请求文件时,在 MP3 上发送适当的标头。

  • @teresko 第一句话说什么? (4认同)
  • @teresko `/abc/public_html/` =&gt; docroot。*以上*将是“/abc/”。 (2认同)