通过URL上载媒体的钩子或函数

时间:2013-04-04 作者:10wtaylor

我正在图像聚合网站上工作。如果提供url,是否有wordpress挂钩或功能来上传媒体,尤其是图像?Rest我可以用wp\\u handle\\u upload函数完成。

谢谢

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

See media_handle_sideload in Codex:

$url = "http://s.wordpress.org/style/images/wp3-logo.png";
$tmp = download_url( $url );
$post_id = 1;
$desc = "The WordPress Logo";

// Set variables for storage
// fix file filename for query strings
preg_match(\'/[^\\?]+\\.(jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/\', $file, $matches);
$file_array[\'name\'] = basename($matches[0]);
$file_array[\'tmp_name\'] = $tmp;

// If error storing temporarily, unlink
if ( is_wp_error( $tmp ) ) {
    @unlink($file_array[\'tmp_name\']);
    $file_array[\'tmp_name\'] = \'\';
}

// do the validation and storage stuff
$id = media_handle_sideload( $file_array, $post_id, $desc );

// If error storing permanently, unlink
if ( is_wp_error($id) ) {
    @unlink($file_array[\'tmp_name\']);
    return $id;
}

$src = wp_get_attachment_url( $id );
结束