没关系。它发生了,因为它正在添加标题。所以我将PHP代码与html分开并且有效。谢谢你们
我正在使用以下代码
<?php
$target_path = "Files/";
$target_path = $target_path . basename( $_FILES['decryptfile']['name']);
$fp = fopen('Files/'.$_FILES['file']['name'], 'rb');
header('Content-type: '.$_FILES['file']["type"]);
header('Content-Disposition: attachment; filename="'.$_FILES['file']['name'].'"');
header("Content-Length: " . filesize('decryptedFiles/'.$_FILES['file']['name']));
fpassthru($fp);
exit;
die();
?>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
Choose a file : <input name="file" type="file" /><br /><p>
Start process</a></center></p>
<p><center><input type="submit" value="File" /></center></p>
</form>
我的文件内容是:
1234567890
当我下载文件时显示
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
</head>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
Choose a file : <input name="file" type="file" /><br /><p>
Start process</a></center></p>
<p><center><input type="submit" value="File" /></center></p>
</form>
1234567890
问题是它将我的网页的html附加(包括)到文件中......我怎么能避免这种情况。感谢
答案 0 :(得分:3)
在exit
后执行fpassthru()
。
另外,你应该看看清洁工readfile()
。
答案 1 :(得分:1)
如果上述代码后面有任何内容,则需要die()
,否则仍会正常输出。