2013-09-24 22 views

回答

4

如果从插件上传,那么你需要看看 wp_handle_upload如果你想改变上传文件夹的目录,那么你应该看看这个教程:Smarter handling of WordPress plugin uploads基本上wp_handle_upload使用就可以覆盖从wp upload dir返回的路径按照我教程链接的路径。希望它可以帮助

编辑:

确定这里是一些示例代码:

if (! function_exists('wp_handle_upload')) require_once(ABSPATH . 'wp-admin/includes/file.php'); 
$uploadedfile = $_FILES['upload_captcha_background']; 
$upload_overrides = array('test_form' => false); 
add_filter('upload_dir', 'my_upload_dir'); 
$movefile = wp_handle_upload($uploadedfile, $upload_overrides); 
remove_filter('upload_dir', 'my_upload_dir'); 

if ($movefile) { 
    echo "File is valid, and was successfully uploaded.\n"; 
    var_dump($movefile); 
} else { 
    echo "Possible file upload attack!\n"; 
} 

funcion my_upload_dir($upload) { 

    $upload['subdir'] = '/sub-dir-to-use' . $upload['subdir']; 

    $upload['path'] = $upload['basedir'] . $upload['subdir']; 

    $upload['url'] = $upload['baseurl'] . $upload['subdir']; 

    return $upload; 

} 
+0

我不知道如何使用创建该代码 – user2746093

+0

检查更新的答案 – Shaheer

0

在代码文件中添加以下行

$attachment_id = media_handle_upload('upload_captcha_background', $post->ID); 


形式:

<input type="file" name="upload_captcha_background" id="upload_captcha_background" /> 


为更多细节media_handle_upload(),看documentation

+0

它将如何将我在上传文件夹中的图像,我在我的插件 – user2746093