我正在搜索一种方法,在下载之前将一个torrent编码(从UTF-8-BOM转换为WINDOWS-1252),因为如果我只是用readfile()下载它,那么torrent就不是有效的bencoding,所以我需要转换它到WINDOWS-1252或CP1252。
单击我的页面上的下载,然后下载以WINDOWS-1252编码的torrent文件。
这是我的剧本:
header("Content-Disposition: attachment; filename=\"$tname.torrent\"");
header("Content-Type: application/octet-stream");
header("Content-Length: " . filesize($fn));
$content = iconv("UTF-8", "WINDOWS-1252", readfile($fn));
print($content);
Acually,这个脚本无法正常工作,因为当我下载文件时,它是空的。 怎么办?
答案 0 :(得分:0)
readfile
直接打印所请求的文件,但您正在使用它,就像它会返回文件的内容一样。
为此,您必须使用file_get_contents
。
您可能也会得到错误的文件大小,因为以UTF-8编码的文件可能与Windows-1252中编码的文件大小不同。
因此,请使用filesize($fn)
。
strlen($content)