【问题标题】:write image file larger than 4096写入大于 4096 的图像文件
【发布时间】:2011-02-13 20:59:38
【问题描述】:

****************************编辑****************** *****

我正在使用 ODBC,发现无法读取超过 4096 个字段

任何建议

**************************编辑******************** *****

我正在从 db 读取图像

$image=$row["image-contents"];

现在尝试将文件写入磁盘

$image_name="test.jpg";
$file = fopen( "images/".$image_name, "w" );
fwrite( $file, $image);
fclose( $file );

问题是创建的文件只有 4096 字节,并且图像文件损坏,因为 $image 大于 4096。

我现在 fwrite 使用块进行写入,但我不知道该怎么做。

请帮忙!

【问题讨论】:

  • 只是检查一下,数据库列的大小大于4096(您使用的是图像字段或类似字段),对吗?即文件在数据库中没有被截断?
  • @Zarigani:字段足够大,但我指出 odbc 驱动程序可以从现场获得超过 4096 个并试图找到解决方案
  • 不确定我是否能提供帮助,但此时,您可能想开始列出您正在使用的数据库、操作系统以及 odbc 驱动程序的配置方式等内容。

标签: php image database


【解决方案1】:

已解决

在 php.ini 中

; Handling of LONG fields.  Returns number of bytes to variables.  0 means
; passthru.
odbc.defaultlrl = 4096

将 4096 值更改为更大且有效

谢谢大家

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2014-09-14
      • 1970-01-01
      • 1970-01-01
      • 2019-03-06
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 2016-11-20
      • 2011-01-29
      相关资源
      最近更新 更多