【问题标题】:Front end file upload returning wrong attachment url前端文件上传返回错误的附件 url
【发布时间】:2014-01-10 14:29:32
【问题描述】:

所以我正在使用 wordpress 制作一个简单的文件上传器,用户无需进入 wp-admin 即可添加文件。

我做得很好,它将文件上传到正确的文件夹..etc,但我遇到的唯一问题是它返回了错误的文件 url。

例如,当上传文件时,它会转到“/wp-content/uploads/2014/01/file.png”,但它会将附件 URL 返回为“/uploads/file.png”

我的代码:

define('WP_USE_THEMES', false);
require_once($_SERVER['DOCUMENT_ROOT']. '/wp-load.php');
include_once($_SERVER['DOCUMENT_ROOT']. '/wp-admin/includes/media.php');
include_once($_SERVER['DOCUMENT_ROOT']. '/wp-admin/includes/file.php');
include_once($_SERVER['DOCUMENT_ROOT']. '/wp-admin/includes/image.php');

 if(!$_FILES) exit;
 if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n");

//define variables
 if(isset($_FILES['fileUpload'])) 
     {
     $files = $_FILES['fileUpload'];
     }
 $upload_dir = wp_upload_dir();

 $file_name = $files['name'];
 $file_vars = array('test_form' => FALSE); //Allows form submission
 $file_post = wp_handle_upload($files, $file_vars); //Posts File
 $file_link = $file_post['url']; //Full URL
 $file_type = wp_check_filetype(basename($file_link), null); //File Extension

 $post_name = preg_replace('/\.[^.]+$/', '', basename($file_link)); //Post Name

 $attachment = array(
            'guid' => $file_link, 
            'post_mime_type' => $file_type['type'],
            'post_title' => $post_name,
            'post_content' => '',
            'post_status' => 'inherit'
                );
 $attach_id = wp_insert_attachment($attachment, $file_name);
 //Generates meta
 $attach_data = wp_generate_attachment_metadata($attach_id, $file_name);
 //Updates meta
 $attach_final = wp_update_attachment_metadata($attach_id, $attach_data);

知道我做错了什么吗?

【问题讨论】:

  • 尝试在 preg_replace 之前查看 var 的内容,之后可能就是这样。

标签: php wordpress file-upload


【解决方案1】:

我知道我做错了什么!

基本上在生成附件元数据时,我给了它错误的路径..

我给它的是实际文件的路径 '/wp-content/uploads/2014/01/file.png'

但它确实需要文件所在文件夹的路径 '/wp-content/uploads/2014/01/'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    相关资源
    最近更新 更多