Прочитать файл Excel, хранящийся в папке мультимедиа - PullRequest
0 голосов
/ 08 апреля 2019

Я разрабатываю плагин для 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 голосов
/ 08 апреля 2019

Возможно, это поможет:

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

В противном случае попробуйте жестко закодировать папку "/your/path/to/upload/folder/file.extension" и узнать, как создать это программно

...