C# 如何在PHP中将$\u文件内容放入二进制变量中?
我有一个unity C#程序,它正在上传一个二进制文件(带有一些数据)。 (这有点不重要,但可能不是) 我希望获取文件内容(二进制),以便能够在PHP端以binari的形式发送到数据库中 我正在尝试这样做:C# 如何在PHP中将$\u文件内容放入二进制变量中?,c#,php,C#,Php,我有一个unity C#程序,它正在上传一个二进制文件(带有一些数据)。 (这有点不重要,但可能不是) 我希望获取文件内容(二进制),以便能够在PHP端以binari的形式发送到数据库中 我正在尝试这样做: $binaridata = ~$_FILES["file"]["name"] (what do i need to do here? tried 文件(获取内容等,但总是会产生一些错误) 谢谢你的帮助 为什么不试试 $binaridata=$\u文件[“文件”][“名称”] 添加分号并删
$binaridata = ~$_FILES["file"]["name"] (what do i need to do here? tried
文件(获取内容等,但总是会产生一些错误)
谢谢你的帮助 为什么不试试$binaridata=$\u文件[“文件”][“名称”]代码>
添加分号并删除~
影拍
文件存储在tmp_name
指示的路径上,name
只是客户机给出的名称,实际上并不相关
但是,根据您与数据库的通信方式和数据库类型,您不希望将整个文件内容读入变量。例如,通过PDO使用Postgres,您可以执行以下操作:
$stmt = $pdo->prepare('INSERT INTO ... VALUES (:file)');
$fh = fopen($_FILES['file']['tmp_name'], 'rb');
$stmt->bindParam(':file', $fh, PDO::PARAM_LOB);
$stmt->execute();
数据库适配器将文件作为流读取,这比将其保存在内存中经济得多。请参阅数据库适配器手册。$binaryData=file\u get\u contents($\u FILES['file']['tmp\u name']);是的,这很好,这是我需要的谢谢。
$binaryData = file_get_contents($_FILES['file']['tmp_name']);
^^^^^^^^
$stmt = $pdo->prepare('INSERT INTO ... VALUES (:file)');
$fh = fopen($_FILES['file']['tmp_name'], 'rb');
$stmt->bindParam(':file', $fh, PDO::PARAM_LOB);
$stmt->execute();