我在使用PHP的标题输出二进制数据时遇到问题,无法找出原因,请你帮忙吗?
(表格)
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
(PHP脚本)
<?php
require_once "connection.php";
$pic = $_FILES['fileToUpload'];
$pic_info = getimagesize($pic['tmp_name']);
$pic_mime_type = $pic_info['mime'];
$pic_data = file_get_contents($pic['tmp_name']);
$pic_size = $pic['size'];
header("Content-type: " . $pic_mime);
header("Content-length: " . $pic_size);
echo $pic_data;
?>
脚本的输出只是一个空的,你能帮忙吗?
非常感谢!
答案 0 :(得分:0)
您正在使用
header("Content-type: " . $pic_mime);
而不是
header("Content-type: " . $pic_mime_type);
并确保connection.php不输出任何内容,因为它在发送标头之前进行了解析。
http://www.php.net/manual/function.header.php
connection.php 的示例 的坏强>
<html>
<?php
echo 'foo';
?>
不可强>
<?php
$result = 'bar';
<?php
代码之前的任何其他内容)echo
(或print
,或print_f
,或任何发送数据的内容)?>
标记(因此没有意外的空格)