好的,首先感谢您抽出宝贵的时间,我希望我能为这个问题多加一点。
问题:我的网站上有一些音乐文件 (.mp3),我正在使用 php 文件来增加数据库以计算下载次数并指向要下载的文件。出于某种原因,此方法从 350kb/s 开始,然后慢慢下降到 5kb/s,然后文件说需要 11 小时才能完成。但是,如果我直接转到 .mp3 文件,我的浏览器会打开一个播放器,然后我可以右键单击并“另存为”,这样可以在 3 分钟内完成下载。(对于那些认为它是我的连接或 ISP 而它也不是我的服务器的人来说,是的。)
所以我最近一直在玩的唯一的东西是 php.ini 和 .htcaccess 文件。
所以不用多说,php 文件 php.ini 和 .htcaccess:
下载.php
<?php
include("config.php");
include("opendb.php");
$filename = 'song_name';
$filedl = $filename . '.mp3';
$query = "UPDATE songs SET song_download=song_download+1 WHERE song_linkname='$filename'";
mysql_query($query);
header('Content-Disposition: attachment; filename='.basename($filedl));
header('Content-type: audio/mp3');
header('Content-Length: ' . filesize($filedl));
readfile('/music/' . $filename . '/' . $filedl);
include("closedb.php");
?>
php.ini
register_globals = off
allow_url_fopen = off
expose_php = Off
max_input_time = 60
variables_order = "EGPCS"
extension_dir = ./
upload_tmp_dir = /tmp
precision = 12
SMTP = relay-hosting.secureserver.net
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
; Defines the default timezone used by the date functions
date.timezone = "America/Los_Angeles"
.htaccess
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www.MindCollar.com)?$ [NC]
RewriteRule (.*) http://www.MindCollar.com/$1 [R=301,L]
<IfModule mod_rewrite.c>
RewriteEngine On
ErrorDocument 404 /errors/404.php
ErrorDocument 403 /errors/403.php
ErrorDocument 500 /errors/500.php
</IfModule>
Options -Indexes
Options +FollowSymlinks
<Files .htaccess>
deny from all
</Files>
谢谢你的时间