PHP手冊中有this example:
<?php
// open the file in a binary mode
$name = './img/ok.png';
$fp = fopen($name, 'rb');
// send the right headers
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));
// dump the picture and stop the script
fpassthru($fp);
exit;
?>
的要點是,你必須發送一個Content-Type頭。另外,在<?php ... ?>
標籤之前或之後,您必須小心,在文件中不要包含任何額外的空白(如換行符)。
<?php
$name = './img/ok.png';
$fp = fopen($name, 'rb');
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));
fpassthru($fp);
你仍然需要謹慎避免在頂部空白:
正如評論所說,你可以通過省略?>
標籤避免多餘的空白在腳本結束的危險劇本。一個特別棘手的空白形式是UTF-8 BOM。爲避免這種情況,請確保將腳本保存爲「ANSI」(記事本)或「ASCII」或「無簽名的UTF-8」(Emacs)或類似文件。
只需添加一些安全性,因此像``攻擊可避免 – mixdev 2015-11-29 16:01:57