如何用php将文件内容转换为字节数组

2024-05-07

我想用PHP将上传的文件保存(插入)到数据库中,数据库字段的类型是varbinary。
最后,我想要获得 VarBinary(输出)的内容,就像在 C# 中读取文件然后将其存储在字节数组中并将数组插入到 VarBinary 中一样。
我与数据库的连接也是通过 sqlsrv 进行的。
我的文件类型只有 PDF 和图像。
我尝试了这段代码,但我的输出与 C# 的输出不同:

$handle=@fopen($_FILES["my_file"]["tmp_name"], 'rb');
$content= file_get_contents($_FILES["my_file"]["tmp_name"]);
$content = unpack("N*",$content);
$content=  implode($content);
$sql = "INSERT INTO files (file_data) VALUES (CONVERT(varbinary(MAX)?)";
$params=array();
array_push($params,$content);
$table=sqlsrv_query( $conn, $sql, $params);

“$conn”是我正常工作的连接的名称。


PHP 没有“字节数组”数据类型。它有一个字符串类型,即is用于所有意图和目的的字节数组。要将文件的二进制内容读取到与 PHP 中最接近字节数组的变量中,请执行以下操作:

$content = file_get_contents($_FILES['my_file']['tmp_name']);

是的,就是这样。没什么可做的了。

我对 sqlsrv API 不是特别熟悉,但仔细阅读它的文档 http://php.net/manual/en/function.sqlsrv-query.php看来您可以(需要?)以这种方式设置一个标志来将数据标记为二进制:

sqlsrv_query($conn, 'INSERT INTO files (file_data) VALUES (?)', array(
    array($content, SQLSRV_PARAM_IN, SQLSRV_PHPTYPE_STRING, SQLSRV_SQLTYPE_BINARY)
));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用php将文件内容转换为字节数组 的相关文章

  • PHP 时区问题 |英国夏令时和格林威治标准时间

    我开发了一个应用程序 它记录某些记录的修改和创建时间 所以基本上我们使用time 保存更改时进行记录的功能 我在英国 所以我的时区必须是 GMT 然而在英国 我们使用夏令时 所以在夏天我们不再使用格林尼治标准时间 而是使用英国夏令时 我如何
  • 脚本超时已过,如果要完成导入,请重新提交相同的文件,导入将恢复

    我有一个数据库 拉开拉链后的尺寸50mb拉链尺寸7mb所以当我尝试导入数据库时zipped 7mb 几分钟后 它抛出此错误 脚本超时已过 如果您想完成导入 请resubmit相同的文件和导入将恢复 我已经重新提交了 但仍然没有导入全部数据
  • 简单 php 脚本找不到对象错误

    每次我点击提交按钮在网页中处理此代码时 它都会转到 未找到对象 404 错误 页面 它发生在我的一些脚本中 我不知道问题的根源是我的本地主机 Xampp 还是我的代码 if isset POST submit require dbc php
  • 为什么我需要一块一块地读取文件来缓冲?

    我看到了以下用于将文件放入数组的代码 该数组又用作将其插入 blob 列的 SQL 命令的参数 using FileStream fs new FileStream soubor FileMode Open FileAccess Read
  • 如何自动更新数据库中的记录?

    我有一个工作表 在其中插入新工作 该表还包含职位发布日期 默认情况下 当发生新插入时 作业状态为打开状态 现在 当作业超过 30 天时 我想将作业状态从开放更改为关闭 我该怎么做 尝试创建一个每天运行的事件 如下所示 CREATE EVEN
  • 如何在 php 中访问名为变量的对象属性?

    以 JSON 编码的 Google API 返回一个如下所示的对象 updated gt stdClass Object t gt 2010 08 18T19 17 42 026Z 任何人都知道我如何访问 t value object gt
  • 如何获取共同好友列表

    你好 我想知道如何才能找到共同的朋友 我目前在思考这个问题时遇到问题 我有一个名为 users 的表 它是这样的 id name 1 Kenny 2 Jack 3 Jimmy 4 Chris 5 Meg 6 Jake 7 Micheal 8
  • 如何在 Laravel 5.3 中进行自定义身份验证

    我在 Laravel 5 3 自定义身份验证中遇到问题 希望在检查时使用我自己的函数或页面Auth check 它返回false 这是用户控制器 namespace App Http Controllers use App User use
  • python 中的 KDE 具有不同的 mu、sigma / 将函数映射到数组

    我有一个二维值数组 我想对其执行高斯 KDE 但有一个问题 假设这些点具有不同的方差 为此 我有第二个二维数组 具有相同的形状 它是用于每个点的高斯方差 在这个简单的例子中 import numpy as np data np array
  • PHP session_destroy() 警告会话对象销毁失败[重复]

    这个问题在这里已经有答案了 我有这个 php 脚本 但在破坏会话时遇到问题 我收到这个警告 警告 session destroy 会话对象销毁失败 第 6 行 C xampp htdocs template nota finalizare
  • 如何使用 python(版本 2.5)压缩文件夹的内容?

    一旦我在特定文件夹中拥有了所需的所有文件 我希望我的 python 脚本能够压缩文件夹内容 这可能吗 我该如何去做呢 在 python 2 7 上你可以使用 Shutil make archive base name 格式 root dir
  • 嵌套 NumPy 数组并使用拆分等方法

    我是 NumPy 的新手 正在尝试在我的代码中使用它来处理某些表 我有一个如下所示的坐标列表 coordinates 2 0 0 1 3 4 并想这样写 coordinatesNumpy np array 2 0 0 1 3 4 在常规 P
  • 正在 WordPress 中上传媒体,但显示错误“上传时发生错误。请稍后重试。”

    我试图在 WordPress 媒体上传中上传 jpeg 图像 上传时 显示错误 上传时发生错误 请稍后再试 上传时出现错误消息 但是当我重新加载页面时 图像显示在列表中 如下所示 重新加载页面后 所以 图片正在上传 这意味着不存在文件夹权限
  • 带单引号的 XPATH 查询[重复]

    这个问题在这里已经有答案了 有人知道如何解决这个问题吗 单引号让我陷入困境 nodes xml gt xpath item contains catalog Billy s Blogs title 我尝试以各种方式逃避它 但都抛出错误 no
  • Laravel Redis 配置

    我目前正在使用 Laravel 和 Redis 创建一个应用程序 几乎一切都工作正常 我按照文档中的说明扩展了身份验证 用户可以订阅 登录 注销 我可以创建内容 所有内容都存储在 Redis 中 但我有一个问题 我无法运行 php arti
  • 如何从 URL 获取当前的 Web 目录?

    如果我有一个网址http www example com sites dir index html http www example com sites dir index html 我想提取 sites 这个词 我知道我必须使用正则表达式
  • 在同一服务器上的 2 个子域中安装 2 个 WordPress 时共享用户

    我有 2 个 WordPress 网站 位于 2 个不同的子域中 例如test1 abc com and test2 abc com 这两个网站都激活了 wp require 插件 只有登录用户才能看到该网站 我们想要创建一个系统 如果用户
  • 在Python中将数组的元素从科学记数法转换为十进制记数法

    我有一个 numpy 数组 其元素采用科学格式 我想将它们转换为十进制格式 我的 numpy 数组如下所示 array 93495052 96955582 98555123 06146193 array 1 00097681e 09 9 9
  • 在 JAX-WS 中使用安全性的最佳实践是什么

    这是场景 我有一些需要保护的 Web 服务 JAX WS 目前 为了身份验证需求 我提供了额外的 SecurityWService 它为授权用户提供了一些需要在请求其他服务时描述的 userid 和 sessionid 使用一些java安全
  • 2D 矩阵上的 Numpy where()

    我有一个像这样的矩阵 t np array 1 2 3 foo 2 3 4 bar 5 6 7 hello 8 9 1 bar 我想获取行包含字符串 bar 的索引 在一维数组中 rows np where t bar 应该给我索引 0 3

随机推荐

  • 在 iOS 应用程序中处理数据(选择什么?NSData、CoreData、sqlite、PList、NSUserDefaults)

    当我开发 iPhone 应用程序 时间跟踪器 待办事项列表等 时 我永远不知道处理数据的最佳方式是什么 有一次我使用了 plist 下次使用 sqlite 或 CoreData 您如何决定什么最适合您的项目 只谈数据管理 例如 如果您想开发
  • 如何使用 Angular 在 ASP.NET Core 应用中正确实现 Windows 身份验证

    I just finished creating an ASP NET Core app with Angular as described in this https learn microsoft com en us visualstu
  • 如何创建仅包含某些可扩展项目的列表?

    我正在尝试编写一个包含一些可扩展项目和一些单个项目的列表 我希望拥有它 以便当单击单个项目或可扩展列表子项时 我可以根据该项目的文本调用意图 我认为可扩展列表可以工作 但是有没有办法在可扩展列表中设置项目 以便它们没有可扩展列表图标 我应该
  • 使用数据源时无法更改 datagridview 单元格颜色

    我有一个有趣的问题 我正在尝试使用数据表作为 datagridview 的数据源 我想对表格的某些单元格进行着色以指示各种事物 但由于某种原因 颜色不会显示 所以下面的代码显示了一个未着色的单元格 dataGridView1 DataSou
  • 有没有办法从密码结果中删除 _id _type

    我使用 apoc convert toTree 过程将查询结果转换为树 然后过滤结果以仅获取几个属性 但是 在生成的有效负载中 我得到了两个无法删除的属性 id 和 type 这是我的查询 我应该只获取 prefLabel 和 uri MA
  • 测试功能打印行为

    我有一个函数 foo 它使用 print 打印大量消息 我想编写单元测试来测试打印消息的正确性 如何获取打印的消息而不是在控制台中打印它 例如 def foo x print Value is x assertEqual OUTPUT fo
  • 在 C++ 中使用 std::atomic 与 std::condition_variable 暂停和恢复 std::thread 的方法

    这是一个单独的问题 但与我问的上一个问题相关here https stackoverflow com questions 40544480 c correct way to pause resume an stdthread 4054476
  • 使用 Javascript 提交表单

    我的一些表单是用Javascript JQuery提交的 所以不会发生页面刷新 但我注意到我的两台计算机之间的浏览器存在奇怪的行为 在一台计算机 以及我测试过的所有浏览器 上 我的表单提交按预期执行 我的另一台电脑 Mac 时好时坏 我将提
  • Rails 4 - 如何安装“jquery-ui”?

    为了使用 jquery 自动完成插件 我需要安装jquery ui gem 到目前为止 我的 gemfile 中有以下内容 gem jquery rails 所以我补充道 gem jquery ui rails And to applica
  • 获取主目录的跨平台方式是什么?

    我需要获取当前登录用户的主目录的位置 目前 我在 Linux 上使用了以下命令 os getenv HOME 但是 这在 Windows 上不起作用 执行此操作的正确跨平台方法是什么 你想使用os path expanduser http
  • C#.net 中的 XML 数据库

    我正在为一些网站开发WPF客户端程序 它使用 XML 数据库 我是 XML 新手 请有人解释一下如何创建 附加 最重要 编辑 读取和加密 XML 文件 我知道这是一个大问题 但是 事情很紧急 必须尽快完成工作 在网上查了一下 没有得到正确的
  • Windows 注册表中的 DefaultConnectionSettings 值的格式是什么?

    Windows 注册表项 HKCU Software Microsoft Windows CurrentVersion Internet Settings Connections 包含一个名为的二进制值DefaultConnectionSe
  • if 语句中哪个条件为真

    说我有一个if声明本身 if condition1 condition2 condition3 do something 当我们进入循环时 是否可以找出这 3 个条件中哪一个为 true 是的 您可以使用以下命令单独检查每一项 if con
  • 使用express-fileupload上传文件

    我正在尝试使用express fileupload上传文件 但没有成功让它工作 我可以让文件 在本例中为图像 上传 因为我可以让控制台显示使用正确文件夹上传的图像 启动 js router get upload function req r
  • C# 将表导出到 Excel

    如何使用以下方法将此数据表导出到 Excel Microsoft Office Interop Excel 我有这个代码 女巫抓取主表中的所有数据 并希望将其导出到 Excel 以获得更好的视图 不想使用数据网格 我认为有很多关于这个主题的
  • 如何创建随机矩阵?

    我想创建一个随机矩阵 如 100 50 25 22 75 195 我的代码是 n 1 r 2 e 3 sup for i in range n sup1 for c in range r sup0 list random randint 2
  • 如果按下子视图的按钮如何取消 UIGestureRecognizer

    我正在努力从手势识别器中获得我想要的行为 特别是在其他手势已触发时取消某些手势 我有一个滚动视图设置为分页和每个页面中的多个子视图 我添加了一个触摸手势识别器 如果用户点击页面的右侧或左侧 则可以滚动到下一页或上一页 Add a gestu
  • AngularJS 计数器计数到目标数

    我是 Angular 的新手 想在 JQuery 中实现同样简单的函数扩展 但使用指令 据我所知 这就是应该如何完成的 有人知道准备实施吗 我的搜索最终只找到了 JQuery 解决方案 但我不知道如何将其转换为 Angular 这就是我需要
  • python函数返回函数[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何用php将文件内容转换为字节数组

    我想用PHP将上传的文件保存 插入 到数据库中 数据库字段的类型是varbinary 最后 我想要获得 VarBinary 输出 的内容 就像在 C 中读取文件然后将其存储在字节数组中并将数组插入到 VarBinary 中一样 我与数据库的