2016-06-20 9 views
0

Ich erstelle ein Plugin, um ein Bild in die Medienbibliothek hochzuladen.WordPress: Warum Bild nicht in der Medienbibliothek gespeichert ist?

Aber ich kann es nicht speichern. Hilfe zum Aussortieren.

<?php 
    /* 
    Plugin Name: **** 
    */ 
    add_action('admin_menu', 'my_file_upload'); 
    function my_file_upload() { 
      $uploaddir = '/uploads'; 
      $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); 
      echo "<p>"; 
      if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { 
       echo "File is valid, and was successfully uploaded.\n"; 
       } else { 
        echo "Upload failed"; 
       } 
       echo "</p>"; 
       echo '<pre>'; 
       echo 'Hiiiiii'; 
       print_r($_FILES); 
       print "</pre>"; 
       echo"<imgsrc=$_FILES[userfile][tmp_name]>"; 
       ?> 
        <form enctype="multipart/form-data" action="#" method="POST"> 
        Send this file: <input name="userfile" type="file" /> 
        <input type="submit" value="Send File" /> 
       </form> 
      <?php  
       } 
?> 

Ich habe auf sie von den letzten paar Stunden arbeiten und viel gesucht, aber keine Ergebnisse :(

+0

Jeder Fehler, den Sie haben? – Milap

+0

Lemme dich zeigen. Datei ist gültig und wurde erfolgreich hochgeladen. Array ( [userfile] => Array ( [name] => Desert.jpg [Typ] => image/JPEG [tmp_name] => C: \ wamp \ tmp \ phpE6D.tmp [ Fehler] => 0 [size] => 845941 ) ) Aber es aktualisiert nicht die Medien-Bibliothek mit diesem Bild – Daniel

+0

Kasse meine Antwort unten. – Milap

Antwort

1

Sie können Datei mit move_uploaded_file Funktion laden, aber es wird nicht angezeigt, in Wordpress Medienbibliothek, weil Datei Name ist es noch nicht in der Datenbank, so dass Sie wie unter Wordpress-Funktion verwenden

PHP:.

require_once(ABSPATH . "wp-admin" . '/includes/image.php'); 
require_once(ABSPATH . "wp-admin" . '/includes/file.php'); 
require_once(ABSPATH . "wp-admin" . '/includes/media.php'); 

$attachment_id = media_handle_upload('userfile', $post_id); 
update_post_meta($post_id, '_thumbnail_id', $attachment_id); 

HTML:

<input type="file" name="userfile" id="file-upload" /> 

So, jetzt sollten Sie Bild in WordPress-Medien hochgeladen werden.

+0

Es funktioniert noch nicht. :( wo $ post_id ??? Es Weder Anhänge, Datei :( – Daniel

+0

'$ post_id' zuweisen -. Die Medien im Zusammenhang mit Wenn Sie auf eine bestimmte Stelle angebracht nicht dieses Medium, Sie passieren können 0. – Milap

+0

Nein, es funktioniert noch nicht, können Sie den gesamten bearbeiteten Code in einem Skript schreiben – Daniel

Verwandte Themen