php 在web端读出pdf 与各种文件下载

原文链接:https://www.cnblogs.com/sunxun/p/4470648.html

单纯的下载功能实现

1

2

3

4

5

6

7

8

9

10

<?php

// 表示调用文本类型为pdf的应用

header('Content-type: application/pdf');

 

// 这句可以输出下载页面进行下载

header('Content-Disposition: attachment; filename="downloaded.pdf"');

 

// 能够读出pdf

readfile('original.pdf');

?>

  

实现各种文件的下载方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

<?php

 

$file="N1.PDF";

 

downloadFile($file);

function downloadFile( $fullPath ){

 

  // Must be fresh start

  if( headers_sent() )

    die('Headers Sent');

 

  // Required for some browsers

  if(ini_get('zlib.output_compression'))

    ini_set('zlib.output_compression''Off');

 

  // File Exists?

  iffile_exists($fullPath) ){

     

    // Parse Info / Get Extension

    $fsize filesize($fullPath);

    $path_parts pathinfo($fullPath);

    $ext strtolower($path_parts["extension"]);

     

    // Determine Content Type

    switch ($ext) {

      case "pdf"$ctype="application/pdf"break;

      case "exe"$ctype="application/octet-stream"break;

      case "zip"$ctype="application/zip"break;

      case "doc"$ctype="application/msword"break;

      case "xls"$ctype="application/vnd.ms-excel"break;

      case "ppt"$ctype="application/vnd.ms-powerpoint"break;

      case "gif"$ctype="image/gif"break;

      case "png"$ctype="image/png"break;

      case "jpeg":

      case "jpg"$ctype="image/jpg"break;

      default$ctype="application/force-download";

    }

 

    header("Pragma: public"); // required

    header("Expires: 0");

    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

    header("Cache-Control: private",false); // required for certain browsers

    header("Content-Type: $ctype");

    header("Content-Disposition: attachment; filename=\"".basename($fullPath)."\";" );

    header("Content-Transfer-Encoding: binary");

    header("Content-Length: ".$fsize);

    ob_clean();

    flush();

    readfile( $fullPath );

 

  else

    die('File Not Found');

 

}

 

 

 

?>

  PHP 扒网页资源 ,测试能扒网页和ZIP 只是要想办法知道格式

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<?php

  

$file="http://www.yinghy.com/index.php";

  

  

 

    header("Pragma: public"); // required

    header("Expires: 0");

    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

    header("Cache-Control: private",false); // required for certain browsers

    header("Content-Type: application/force-download");

    header("Content-Disposition: attachment; filename=\"index.html\"" );

    header("Content-Transfer-Encoding: binary");

    header("Content-Length: ".filesize("index.php"));

    ob_clean();

    flush();

    readfile($file);

  

  

?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在VB中将PDF流写入Access数据库,并通过AcroPDF控件读取PDF流的实现方法如下: 1. 首先,您需要使用VB代码将PDF文件流写入Access数据库中的BLOB字段。您可以使用ADO连接到Access数据库,然后使用INSERT语句将PDF流作为参数插入到相应的数据库表中。以下是一个示例代码: ```vb Dim conn As New ADODB.Connection conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\YourDatabase.accdb;" '替换为您的数据库路径 conn.Open Dim rs As New ADODB.Recordset rs.Open "YourTableName", conn, adOpenDynamic, adLockOptimistic '替换为您的表名 Dim fileStream As New ADODB.Stream fileStream.Open fileStream.Type = adTypeBinary fileStream.LoadFromFile "C:\YourPDFFile.pdf" '替换为您的PDF文件路径 rs.AddNew rs.Fields("PDFData").Value = fileStream.Read rs.Update rs.Close conn.Close ``` 2. 接下来,您需要在VB窗体上添加一个AcroPDF控件,该控件可用于显示PDF文件。您可以在工具箱中找到AcroPDF控件并将其拖放到您的窗体上。 3. 在窗体加载事件中,可以使用以下代码从Access数据库中获取PDF流,并将其加载到AcroPDF控件中进行显示。 ```vb Private Sub Form_Load() Dim conn As New ADODB.Connection conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\YourDatabase.accdb;" '替换为您的数据库路径 conn.Open Dim rs As New ADODB.Recordset rs.Open "YourTableName", conn, adOpenDynamic, adLockOptimistic '替换为您的表名 If Not rs.EOF Then Dim fileStream As New ADODB.Stream fileStream.Open fileStream.Type = adTypeBinary fileStream.Write rs.Fields("PDFData").Value fileStream.SaveToFile "C:\Temp\TempPDF.pdf", adSaveCreateOverWrite '将PDF流保存为临时文件,替换为您的临时文件路径 AcroPDF.src = "C:\Temp\TempPDF.pdf" '替换为您的临时文件路径 End If rs.Close conn.Close End Sub ``` 其中,您需要将代码中的数据库路径、表名、PDF文件路径和临时文件路径替换为您实际的路径信息。 这样,您就可以通过VB将PDF流写入Access数据库,并通过AcroPDF控件在窗体上显示PDF文件了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值