PHP 即时上传到 blob

标签 php mysql input upload blob

我有一个简单的输入表单,其中包含输入类型="file",名称=“pdf_statement”。

我希望能够上传内容并即时插入数据库。由于这只是一个测试文件,我并不担心安全性(一旦功能到位我就会添加)。

我已阅读http://php.net/manual/en/function.stream-get-contents.php但无法让它发挥作用。我收到错误 fopen() 期望参数 1 为字符串,给定数组 和 *stream_get_contents() 期望参数 1 为资源,给定 bool 值*。

如果这太明显了,我很抱歉,但对于正在学习的人来说,我无法弄清楚我做错了什么。

<?php

include('session.php');

$provider      =$_POST['provider_id'];
$trd_period    =$_POST['trading_period_month'];
$pdf_statement =stream_get_contents(fopen($_FILES['pdf_statement'], 'r'));

$sql_qry="update rd_provider_statement
          set (pdf_statment='".$pdf_statement."', creation_user_id='SCO')
          where  provider='".$provider."' and trading_period_month='".$trd_period."'";
$sql_err_no=sql_select($sql_qry,$sql_res,$sql_row_count,$sql_err,$sql_uerr);    

?>

最佳答案

您需要以二进制模式打开文件:

fopen($_FILES['pdf_statement']['tmp_name'], 'rb')

或者您可以只使用file_get_contents()相反。

$pdf_statement = file_get_contents($_FILES['pdf_statement']['tmp_name']);

您还需要清理您的输入。使用mysql_real_escape_string()

关于PHP 即时上传到 blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11431855/

相关文章:

php - 防止在 php/mysql 中具有不区分大小写行为的重复用户名

php - Codeigniter:在for循环中设置上传文件名

html - 在 Bootstrap 中创建和样式化输入作为句子的一部分?

mysql - 鉴于这些表格,我将如何选择所有未标记的案例?

mysql - 我在哪里可以阅读有关 MySQL 查询的时间复杂度(Big-O 表示法)的信息?

c - 如何避免按 Enter 和 getchar() 只读取单个字符?

c - if条件不成功

php - 将 Laravel 5 方法注入(inject)与其他参数一起使用

php - jQuery 尝试在 GET 变量中插入空格

php - 当我商店的商品为 "purchased"时尝试更新单个商品的数量,但我表中的每个商品都已更新。为什么?