我遇到了 PHP 和我的 SQL Server 的问题。
当我尝试将文件作为varbinary(MAX)
类型保存到数据库中时,它可以完美运行,但是当我尝试在结果中保存 180k 或更大的文件时,我只能得到部分图像:
$handle = @fopen($fileTmpName, 'rb');
if ($handle)
{
$content = @fread($handle, filesize($fileTmpName));
$content = bin2hex($content);
@fclose($handle);
}
$select = mssql_query("EXEC [DB_Name].[dbo].[Table_Name] @Data = ".$content."");
$result = mssql_fetch_array($select);
$_SESSION['fileContent'] = $result['Data'];
<img src="../applications/framework/images.php" />
image.php
文件包含以下内容:
header("Content-type: ".$fileType);
header("Content-Length: ".$fileSize);
header("Content-Disposition: inline; filename=".$fileName);
echo $_SESSION['fileContent'];
结果,我只得到了部分图像。
我的意思是它只加载真实图像的第一部分。它似乎只将内容的第一部分而不是全部插入到数据库中。
如何解决?