Ich fing an, ein Plugin zu entwickeln. Ich wollte ein Formular behalten, wo der Benutzer einen Eingabetext und ein Video / Bild zur Webseite senden kann. Das Bild sollte in den Ordner eingehen und die URL des Bildes / Videos sollte in die database eingehen. Ich habe den folgenden Code ausprobiert, aber es funktioniert nicht.
$title=$_POST["title"]; $tags=$_POST["tags"]; $filetmp=$_FILES["file"]["tmp_name"]; $filename=$_FILES["file"]["name"]; $filetype=$_FILES["file"]["type"]; $filepath="if_images/".$filename; move_uploaded_file($filetmp,$filepath); $sql="INSERT into imageupload(title,tags,imagepath) values('$title','$tags','$filepath')"; if(mysqli_query($conn,$sql)) { echo "inserted"; }
Ich nehme an, Sie haben die Tabelle imageupload
nicht erstellt oder können den Ordner if_images
in Ihrem Plugin-Ordner erstellen.
Als Vorschlag empfehle ich Ihnen, eingebaute WordPress-functionen und WordPress-Tabellen zu verwenden oder eine Tabelle für die Plugin-Aktivierung zu erstellen.
Um eine neue Tabelle zu erstellen, verwenden Sie die function dbDelta . Wenn Sie Benutzerdateien hochladen möchten, verwenden Sie die gut dokumentierte function wp_handle_upload
.
Beispielsweise:
$uploadedfile = $_FILES['file']; $upload_overrides = array( 'test_form' => false ); $movefile = wp_handle_upload( $uploadedfile, $upload_overrides );
Mehr hier
Verwenden Sie $wpdb
class, um eine neue Zeile in Ihrer database zu erstellen.