Versuch, .pdf Datei-Upload im Admin für Plugin zu implementieren

Dies ist das erste Mal in meiner Plugin-Entwicklung, dass ich eine Datei hochladen musste. UH-OH !!!

Ich erstelle meine Plugins OOP und ich habe immer jQuery. Serialize verwendet, um die Daten in meine plugin.php Datei zu posten, aber ich kann das nicht tun und eine Datei hochladen.

Das Admin-Formular, mit dem die Administratoren der Website PDF-Dateien für ihre Nutzer hochladen können:

<?php echo ''; ?>   Add New Document

<form id="frmNewDocument" action="" method="POST" enctype='multipart/form-data'> <input type="hidden" name="post_date" value="">
<option value="id; ?>">name; ?>

      <input class="button button-primary" type="submit" id="btnNewDocument" name="newDocument" value="" />

Im Stammverzeichnis des Plugin-Ordners habe ich die Datei new_document.php erstellt, um den Upload zu verarbeiten. Ich möchte einen camelCase-Namen für die PDF-Datei erstellen, die im Feld “Dokument” erstellt wurde. Hier ist, was ich in dieser Datei habe:

 <?php require_once('/public_html/wp-config.php'); global $wpdb; define("UPLOAD_DIR", '/public_html/wp-content/uploads/gdocs/'); if( !empty( $_FILES['doc'] ) ): $uFile = $_FILES['doc']; if ($uFile["error"] !== UPLOAD_ERR_OK) { echo "

An error occurred.

"; exit; } $post_date = $_POST['post_date']; $groupID = $_POST['groupID']; $document = $_POST['document']; $description = $_POST['description']; $d_pieces = explode(' ', $document); $new_name = ' '; $count = 1; foreach ($d_pieces as $piece){ if ($count !== 1){ $piece = ucfirst($piece); } // end if $newName .= $piece; $count++; } // end foreach $flName = $newName.".pdf"; $fileName = strtolower( $flName{0}) . substr($flName,1); $success = move_uploaded_file($uFile['tmp_name'], UPLOAD_DIR . $fileName); else: echo "No File Uploaded."; endif; $wpdb->insert( 'ppm_group_documents', array( 'groupID' => $groupID, 'post_date' => $post_date, 'document' => $document, 'description' => $description, 'path' => $fileName ), array( '%s', '%s', '%s', '%s', '%s' ) ); header('Location: http://[sitename]/wp-admin/admin.php?page=ppm-doc-viewer'); ?>

—AKTUALISIEREN—

Der obige Code funktioniert, aber es ist nur eine PHP-WordPress-Lösung. Ich hoffe, jemand könnte mich auf ein Buch oder einen Artikel hinweisen, der erklärt, wie man Dateien “richtig” in einem OOP-Plugin hochlädt.

— UPDATE–

Ich bekomme nur den weißen Bildschirm des Todes und über FTP habe ich den Upload-Ordner überprüft und die Datei ist nicht da. Da dies eine Live-Site ist, kann ich das Debuggen nicht einschalten.

Ich hoffe, dass jemand etwas entdeckt, das ich falsch mache, aber es würde mir auch gefallen, wenn jemand mich auf ein Buch oder einen Artikel hinweisen könnte, der erklärt, wie man Dateien “richtig” in einem OOP-Plugin hochlädt.

Danke im Voraus!!!

Solutions Collecting From Web of "Versuch, .pdf Datei-Upload im Admin für Plugin zu implementieren"