2011-12-15 161 views
0

.....图像无法显示,因为它包含错误。无法显示图像

任何想法?

+2

你为什么要添加斜线的图像数据吗?你不需要。它是二进制数据,不是字符串。 – Flukey 2011-12-15 23:26:14

+0

是斜杠不需要? – user1056534 2011-12-15 23:29:51

回答

1
VALUES ('$id', '$imgData', 'fileSize', 'fileType', NOW());"; 

你的文件类型始终是“文件类型”和你的大小总是“档案大小”(不,即使正确地存储在数据库中?)。所以你输出的图像类型总是image/fileType,这至少是你的一个问题。

你似乎也试图在那里使用finfo,但最终只使用$_FILES阵列中用户提供的MIME类型,这是你永远不应该做的。

在将它们放入SQL查询之前,您也不会转义这些值。 addslashesmysql_real_escape_string或准备的陈述不一样。

您也应该习惯失败的,而不是没完没了嵌套if早期:

if ($error !== UPLOAD_ERR_OK) { 
    echo 'fail'; 
    continue; 
} 

if ($_FILES['file']['size'][$file] > $max) { 
    echo 'fail'; 
    continue; 
} 

...