使用 PHP 从 MS Word 文档中提取图像的最简单方法?

2023-07-16php开发问题
6

本文介绍了使用 PHP 从 MS Word 文档中提取图像的最简单方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

是否可以使用 PHP 从 MS Word 文档中提取图像?如果是这样,如何?

Is this possible to extract images from MS Word Documents using PHP? And if so, how?

要求:绝对是老式的文档支持,但最好是旧的和新的.

Requirement: Definitely old-shool doc support, but preferably both old and new.

推荐答案

创建一个新的 PHP 文件并将其命名为 extract.php 并在其中添加以下代码.

Create a new PHP file and name it as extract.php and add the following code in it.

<?php

/*Name of the document file*/
$document = 'attractive_prices.docx';

/*Function to extract images*/ 
function readZippedImages($filename) {


/*Create a new ZIP archive object*/
    $zip = new ZipArchive;

    /*Open the received archive file*/
    if (true === $zip->open($filename)) {
        for ($i=0; $i<$zip->numFiles;$i++) {


/*Loop via all the files to check for image files*/
            $zip_element = $zip->statIndex($i);


/*Check for images*/
            if(preg_match("([^s]+(.(?i)(jpg|jpeg|png|gif|bmp))$)",$zip_element['name'])) {


/*Display images if present by using display.php*/
                echo "<image src='display.php?filename=".$filename."&index=".$i."' /><hr />";
            }
        }
    }
}
readZippedImages($document);
?>

现在创建另一个 PHP 文件并将其命名为 display.php 并向其中添加以下代码.

Now create another PHP file and name it as display.php and add the following code to it.

<?php


/*Tell the browser that we want to display an image*/
    header('Content-Type: image/jpeg');


/*Create a new ZIP archive object*/
    $zip = new ZipArchive;

    /*Open the received archive file*/
    if (true === $zip->open($_GET['filename'])) {


/*Get the content of the specified index of ZIP archive*/
        echo $zip->getFromIndex($_GET['index']);
    }

    $zip->close();
?>

来源:使用 PHP 从 DocX 中提取图像

这篇关于使用 PHP 从 MS Word 文档中提取图像的最简单方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

PHP实现DeepL翻译API调用
DeepL的翻译效果还是很强大的,如果我们要用php实现DeepL翻译调用,该怎么办呢?以下是代码示例,希望能够帮到需要的朋友。 在这里需要注意,这个DeepL的账户和api申请比较难,不支持中国大陆申请,需要拥有香港或者海外信用卡才行,没账号的话,目前某宝可以...
2025-08-20 php开发问题
168

PHP通过phpspreadsheet导入Excel日期数据处理方法
PHP通过phpspreadsheet导入Excel日期,导入系统后,全部变为了4开头的几位数字,这是为什么呢?原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为: 要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的...
2024-10-23 php开发问题
287

mediatemple - 无法使用 codeigniter 发送电子邮件
mediatemple - can#39;t send email using codeigniter(mediatemple - 无法使用 codeigniter 发送电子邮件)...
2024-08-23 php开发问题
11

Laravel Gmail 配置错误
Laravel Gmail Configuration Error(Laravel Gmail 配置错误)...
2024-08-23 php开发问题
16

将 PHPMailer 用于 SMTP 的问题
Problem with using PHPMailer for SMTP(将 PHPMailer 用于 SMTP 的问题)...
2024-08-23 php开发问题
4

关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题
Issue on how to setup SMTP using PHPMailer in GoDaddy server(关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题)...
2024-08-23 php开发问题
17