文件上传器-无需添加到媒体库即可上传

时间:2016-03-31 作者:DigM

我有一个插件的管理表单,我正在制作。然而,我需要添加几个字段,管理员需要在其中上载文档或图像。上传这些文件时,我不想将它们添加到WordPress的媒体库中,因为这些文件不会在任何网页上使用。我所需要的只是文件上传到服务器的URL,以便在数据库中使用。

实现这一目标的最佳方式是什么?

谢谢你的时间!

2 个回复
最合适的回答,由SO网友:Patrick 整理而成

好的,您当然需要设置一个HTML文件。我会使用以下代码或类似代码:

<form action="upload.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>
当然,你不必使用upload.php 作为您的文件名,这正是w3schools使用的文件名。

PHP

<?php
$target_dir = "your/file/upload/path";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}
?>
更改$target_dir 到您希望文件进入的任何目录,然后就可以了。当然,有许多jQuery插件可以以一种奇特或漂亮的方式完成这项工作,但这是使用jQuery的基础。

其他信息信息来源:W3Schools

这里可以找到一个很棒的Ajax文件上传器脚本:http://demo.tutorialzine.com/2013/05/mini-ajax-file-upload-form/

这里可以找到一个很棒的jQuery文件上传插件:http://blueimp.github.io/jQuery-File-Upload/index.html

根据其网站,它支持:

具有多个文件选择、拖动和;删除jQuery的支持、进度条、验证和预览图像、音频和视频。支持跨域、分块和可恢复的文件上载以及客户端图像大小调整。可与任何支持标准HTML表单文件上传的服务器端平台(PHP、Python、Ruby on Rails、Java、Node.js、Go等)配合使用。

SO网友:dg4220

我认为这取决于您如何处理表单中的文件输入字段。我用过wp_upload_bits() 在具有自定义帖子类型的插件中,该帖子类型具有文件附件。使用CPT的元盒附加和上载文件,并在调用的“save\\u file\\u function”函数中调用wp\\u upload\\u位add_action( \'save_post\', \'save_file_function\' ); 这些都将放在您的主插件中。php文件。

相关推荐

显示作者姓名PHP(自制插件)

我有一个需要帮助的问题,因为我自己找不到解决办法。我接管了一个网站,之前有人在那里创建了一个自制插件。。使用默认插件“Contact Form 7”,用户可以在页面上创建帖子。()https://gyazo.com/c8b20adecacd90fb9bfe72ad2138a980 )关于自行创建的插件“Contact Form 7 extender”,帖子是通过PHP代码在后台生成的(https://gyazo.com/115a6c7c9afafd2970b66fd421ca76a3)其工作原理如下:如果