我在我的Wordpress网站上使用一个名为wp-client的插件来帮助我创建一个合作伙伴门户网站但是当我尝试下载一个大文件(500 MB)时,它没有完成文件的实际大小,其大小因在互联网速度达到特定的大小。我尝试在托管中更改PHP参数但问题仍然相同。
这是我使用的配置:
max_execution_time = 0
max_input_time = 0
memory_limit = 640M
post_max_size = 2000M
upload_max_filesize = 1500M
在wp-config.php文件中添加配置而不是托管。
以下代码可以帮助您。
<?php
function sendHeaders($file, $type, $name=NULL)
{
if (empty($name))
{
$name = basename($file);
}
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header('Content-Transfer-Encoding: binary');
header('Content-Disposition: attachment; filename="'.$name.'";');
header('Content-Type: ' . $type);
header('Content-Length: ' . filesize($file));
}
$file = '/path/to/files/photo.jpg';
if (is_file($file))
{
sendHeaders($file, 'image/jpeg', 'My picture.jpg');
$chunkSize = 1024 * 1024;
$handle = fopen($file, 'rb');
while (!feof($handle))
{
$buffer = fread($handle, $chunkSize);
echo $buffer;
ob_flush();
flush();
}
fclose($handle);
exit;
}
?>