读取存储在媒体文件夹中的Excel文件

时间:2019-04-08 01:42:18

标签: php wordpress wordpress-plugin-creation

我正在开发一个WordPress插件,该插件需要上传excel文件,然后读取其中的数据。

我正在使用函数“ media_handle_upload”上载excel文件,然后,当我尝试使用SpreadsheetReader读取文件时,出现错误,表明该文件不可读。

这就是我正在编码的内容(我知道这是很糟糕的编码,但是我正在学习,这仅仅是为了使插件正常工作

if(isset($_FILES['test_upload_pdf'])){
        $pdf = $_FILES['test_upload_pdf'];

        // Use the wordpress function to upload
        // test_upload_pdf corresponds to the position in the $_FILES array
        // 0 means the content is not associated with any other posts
        $uploaded=media_handle_upload('test_upload_pdf', 0);
        // Error checking using WP functions
        if(is_wp_error($uploaded)){
                echo "Error uploading file: " . $uploaded->get_error_message();
        }else{
            echo $pdf."<br>";
            $year = date('Y');
            $month = date('m');
            $targetPath = get_site_url()."/wp-content/uploads/".$year."/".$month."/".$_FILES['test_upload_pdf']['name'];
            $targetPath2 = $_SERVER['DOCUMENT_ROOT']."/".$_SERVER["HTTP_HOST"]."/wp-content/uploads/".$year."/".$month."/".$_FILES['test_upload_pdf']['name'];
            echo "<br>";

            echo $targetPath2;
            echo "<br>";
            try
            {
                $Reader = new SpreadsheetReader($targetPath2);
            }
            catch (Exception $E)
            {
                echo $E -> getMessage();
            }

我认为读者无法使用,因为尝试访问“ localhost”而不是物理文件夹,例如,$ targetPath之一显示以下内容:

  

http://127.0.0.1/wordpress/wp-content/uploads/2019/04/example.xlsx

所以...我的问题是,有一种方法可以访问媒体文件,以便可以用阅读器打开它们?

谢谢。

1 个答案:

答案 0 :(得分:0)

也许这会有所帮助:

https://developer.wordpress.org/reference/functions/wp_upload_dir/

否则,请尝试对文件夹“ /your/path/to/upload/folder/file.extension”进行硬编码,并找出如何以编程方式创建此文件夹