gpt4 book ai didi

sql - PHP 正在截断 MSSQL Blob 数据 (4096b),即使在设置 INI 值之后也是如此。我缺一个吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:53:15 24 4
gpt4 key购买 nike

我正在编写一个 PHP 脚本,它遍历一个表并将 varbinary(max) blob 数据从每条记录中提取到一个外部文件中。代码运行完美(我使用几乎相同的代码来处理一些图像),除非文件超过 4096b - 数据恰好在 4096 处被截断。

我修改了 mssql.textlimitmssql.textsizeodbc.defaultlrl 的值,但没有成功。

我是不是漏掉了什么?

<?php 
ini_set("mssql.textlimit" , "2147483647");
ini_set("mssql.textsize" , "2147483647");
ini_set("odbc.defaultlrl", "0");

include_once('common.php'); //Connection to DB takes place here.
$id=$_REQUEST['i'];
$q = odbc_exec($connect, "Select id,filename,documentBin from Projectdocuments where id = $id");
if (odbc_fetch_row($q)){

echo "Trying $filename ... ";
$fileName="projectPhotos/docs/".odbc_result($q,"filename");

if (file_exists($fileName)){
unlink($fileName);
}

if($fh = fopen($fileName, "wb")) {
$binData=odbc_result($q,"documentBin");
fwrite($fh, $binData) ;
fclose($fh);
$size = filesize($fileName);
echo ("$fileName<br />Done ($size)<br><br>");
}else {
echo ("$fileName Failed<br>");
}
}
?>

输出

Trying ... projectPhotos/docs/file1.pdf Done (4096)

Trying ... projectPhotos/docs/file2.zip Done (4096)

Trying ... projectPhotos/docsv3.pdf Done (4096)

etc..

最佳答案

不要将 odbc.defaultlrl 设置为 0,而是尝试将其设置为实际值:

ini_set("odbc.defaultlrl", "100K");

关于sql - PHP 正在截断 MSSQL Blob 数据 (4096b),即使在设置 INI 值之后也是如此。我缺一个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4500506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com