php - 创建 wordpress 插件 ( PHPexcel )

标签 php wordpress

我有用于读取 Excel 文件的 PHP 代码,我正在使用 PHPexcel,我想为 wordpress 创建一个插件来显示我来自 excel 的数据。在 Localhost 上运行完美,但在我的网站上运行不起作用,点击提交时只有空白内容,尝试另一个模板也是一样。

这里是我的代码:

add_shortcode('show_number', 'find');

function find(){
?>
<form method="post" action="">
Number : <input type="text" name="number" /><button type="submit">Find</button>
</form>


<?php
    if (isset($_POST['number']) {
    $number = $_POST["number"];

    require_once ( plugin_dir_path(__FILE__). 'includes\classes\PHPExcel.php');
    $tmpfname = ( plugin_dir_path(__FILE__). 'number.xlsx');
    $excelReader = PHPExcel_IOFactory::createReaderForFile($tmpfname);
    $excelObj = $excelReader->load($tmpfname);
    $worksheet = $excelObj->getSheet(0);
    $lastRow = $worksheet->getHighestRow();
    $excel_arr = $worksheet->toArray(null,true,true,true);

        for ($row=1;$row <=$lastRow;$row++){

             if ($excel_arr[$row]["A"] == $number ) {
               echo $excel_arr[$row]["A"];
               break;
             }
        }
   }
}

如果我删除读取 Excel 的代码为:

function find(){
?>
<form method="post" action="">
Number : <input type="text" name="number" /><button type="submit">Find</button>
</form>
<?php
    if (isset($_POST['number']) {
    $number = $_POST["number"];

    echo $number;
}

页面加载正常,并显示$number。我想我误用了 wordpress 插件的 PHPexcel 代码

已解决:避免使用“\”来描述路径

最佳答案

你有几个问题:

  1. 您的服务器设置为不显示错误,这就是您看到空白屏幕而不是有用的错误消息的原因。检查您的服务器错误日志,并考虑启用 debug mode在 WordPress 中,至少是暂时的。

  2. 您使用反斜杠作为目录分隔符。这将适用于 Windows 机器(我猜你的本地机器是 Windows),但不适用于 Unix 机器(我猜你的服务器是。)尝试使用正斜杠(“/”)作为路径分隔符。这将适用于两个平台。

(如果您真的想使用腰带和大括号,您可以使用 PHP 常量 DIRECTORY_SEPARATOR,但这可能有点矫枉过正,并且会使您的代码更难阅读。大多数人只是坚持使用正斜杠。 )

关于php - 创建 wordpress 插件 ( PHPexcel ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45783664/

相关文章:

php - 我如何在 woocommerce 中使用 wc()?

php - 如何使用 Swift 解析 iOS 中包含复杂类型的 SOAP 响应?

PHP 模板 include() 导致目录错误

javascript - 从二进制文件javascript中读取 float

html - CSS 不会实时更新,但适用于暂存

css - 如何在 a :hover in ul li list? 上添加圆 Angular 边框

php - WordPress 将元素添加到 1 个特定菜单项

php - Woocommerce 选择与多个元值匹配的订单

php mysql date.timezone 和冬季和夏季时间

php - mysql_fetch_array 不工作