使用PHP在POSTGRESQL数据库中上传/下载文件

米歇尔·M

我想创建一个php页面,用户可以在其中上传pdf文件并将其存储在Postgresql数据库中。用户可以在另一页上下载或阅读pdf文件。

目前,我发现了这一点:

POSTGRESQL:

CREATE TABLE schema.tab
(
  id serial NOT NULL,
  a bytea,
  CONSTRAINT tab_pkey PRIMARY KEY (id)
)

PHP上传:

if ($_POST[submit]=="submit"){

    include_once('../function.php');
    ini_set('display_errors','Off');
    $db=connection_pgsql() or die('Connessione al DBMS non riuscita');

    $data = file_get_contents($_FILES['form_data']['tmp_name']);
    $escaped = pg_escape_bytea($data);
    $result = pg_prepare( "ins_pic",'INSERT INTO schema.tab (a) VALUES ($1)'); 
    $result = pg_execute ("ins_pic",array('$escaped')); 

现在我该如何下载存储在tab中的pdf id=1

我试过了:

$sql= "SELECT a FROM schema.tab WHERE id=5";


$resource=pg_query($db, $sql);
$row=pg_fetch_array($resource, NULL, PGSQL_BOTH);


$data = pg_unescape_bytea($row[0]);

$extension ='pdf';
$fileId = 'title';

$filename = $fileId . '.' . $extension;

$fileHandle = fopen($filename, 'w');
fwrite($fileHandle, $data);
fclose($fileHandle);


// We'll be outputting a PDF
header('Content-type: application/pdf');


// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
echo $fileHandle;
exit;

但这不起作用!:-(

西蒙·帕奎特

您必须在php文件中使用标头。输出缓冲区必须为空。$ filecontent代表数据库中的pdf内容。

// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
echo $filecontent;
exit;

此代码将确保您的用户将下载pdf文件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用PHP在POSTGRESQL数据库中上载/下载文件

来自分类Dev

Selenium Webdriver使用相对路径上传下载文件

来自分类Dev

Selenium Webdriver使用相对路径上传下载文件

来自分类Dev

使用WCF Rest进行文件上传下载

来自分类Dev

由于使用中文文件名上传,PHP无法从数据库下载上传文件

来自分类Dev

使用bash脚本从在线数据库下载文件

来自分类Dev

使用Ajax调用MVC从数据库下载文件

来自分类Dev

SFTP上传下载使用Apache Commons VFS存在并移动

来自分类Dev

Laravel 从数据库下载文件

来自分类Dev

使用php下载文件,文件存储在文件夹中,文件名存储在数据库中

来自分类Dev

GAE上传下载数据/将数据导入本地主机以在我的开发服务器上进行测试

来自分类Dev

GAE上传下载数据/导入数据到本地主机以在我的开发服务器上进行测试

来自分类Dev

在集群的tomcat,数据库或文件系统中上传图像

来自分类Dev

在集群的tomcat,数据库或文件系统中上传图像

来自分类Dev

在EasyPHP中上传大型数据库文件

来自分类Dev

在php中上传和检索图像到数据库

来自分类Dev

如何使用Codeigniter在数据库中上传视频文件

来自分类Dev

如何使用“数据库优先”方法在MVC中上传文件?

来自分类Dev

在MYSQL数据库中上传图片并使用带有Swift的PHP进行显示

来自分类Dev

使用spring / hibernate在数据库中上传pdf

来自分类Dev

获取 Mysql 数据库更改并下载文件

来自分类Dev

单击不可点击的按钮,等待上传下载,以下载Selenium python

来自分类Dev

尝试使用 angular 5 和 asp.net core 从数据库下载文件

来自分类Dev

在 phpMyAdmin 中上传大型数据库

来自分类Dev

使用PHP从数据库下载PDF文件

来自分类Dev

php文件上传到数据库

来自分类Dev

Dropbox API HTTP Unity3d 上传下载

来自分类Dev

如何在具有1个或多个关系的数据库中上载文件

来自分类Dev

如何从rails中的数据库下载上传的存储文件?

Related 相关文章

  1. 1

    使用PHP在POSTGRESQL数据库中上载/下载文件

  2. 2

    Selenium Webdriver使用相对路径上传下载文件

  3. 3

    Selenium Webdriver使用相对路径上传下载文件

  4. 4

    使用WCF Rest进行文件上传下载

  5. 5

    由于使用中文文件名上传,PHP无法从数据库下载上传文件

  6. 6

    使用bash脚本从在线数据库下载文件

  7. 7

    使用Ajax调用MVC从数据库下载文件

  8. 8

    SFTP上传下载使用Apache Commons VFS存在并移动

  9. 9

    Laravel 从数据库下载文件

  10. 10

    使用php下载文件,文件存储在文件夹中,文件名存储在数据库中

  11. 11

    GAE上传下载数据/将数据导入本地主机以在我的开发服务器上进行测试

  12. 12

    GAE上传下载数据/导入数据到本地主机以在我的开发服务器上进行测试

  13. 13

    在集群的tomcat,数据库或文件系统中上传图像

  14. 14

    在集群的tomcat,数据库或文件系统中上传图像

  15. 15

    在EasyPHP中上传大型数据库文件

  16. 16

    在php中上传和检索图像到数据库

  17. 17

    如何使用Codeigniter在数据库中上传视频文件

  18. 18

    如何使用“数据库优先”方法在MVC中上传文件?

  19. 19

    在MYSQL数据库中上传图片并使用带有Swift的PHP进行显示

  20. 20

    使用spring / hibernate在数据库中上传pdf

  21. 21

    获取 Mysql 数据库更改并下载文件

  22. 22

    单击不可点击的按钮,等待上传下载,以下载Selenium python

  23. 23

    尝试使用 angular 5 和 asp.net core 从数据库下载文件

  24. 24

    在 phpMyAdmin 中上传大型数据库

  25. 25

    使用PHP从数据库下载PDF文件

  26. 26

    php文件上传到数据库

  27. 27

    Dropbox API HTTP Unity3d 上传下载

  28. 28

    如何在具有1个或多个关系的数据库中上载文件

  29. 29

    如何从rails中的数据库下载上传的存储文件?

热门标签

归档