[英]WordPress : Why image is not saved in media library?
I am creating a plugin to upload an image into media library. 我正在创建一个插件以将图像上传到媒体库。
But i am unable to store it. 但是我无法存储它。 Help to sort out.
帮助整理。
<?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
}
?>
I have been working on it from last few hours and searched a lot but no results :( 我从最近几个小时开始研究它,但搜索了很多但没有结果:(
You can upload file using move_uploaded_file
function, but it does not display in WordPress media library, because file name is not there in database yet, so you have to use WordPress function as below. 您可以使用
move_uploaded_file
函数上载文件,但是由于数据库中尚不存在文件名,因此它不会显示在WordPress媒体库中,因此您必须使用以下WordPress函数。
PHP: 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: HTML:
<input type="file" name="userfile" id="file-upload" />
So, now you should get uploaded image in WordPress media. 因此,现在您应该在WordPress媒体中获取上传的图片。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.