我正在创建一个将图片上传到媒体库的插件。
但是我无法存储它。帮助整理。
<?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
}
?>
我在过去的几个小时里一直在研究它并且搜索了很多但没有结果:(
答案 0 :(得分:1)
您可以使用move_uploaded_file
功能上传文件,但它不会显示在WordPress媒体库中,因为数据库中还没有文件名,所以您必须使用如下的WordPress功能。
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" />
所以,现在你应该在WordPress媒体上上传图像。