wordpress远程上传图片

来源:互联网 发布:stm8l152数据手册 编辑:程序博客网 时间:2024/05/17 23:40

使用API远程上传图片;

include("xmlrpc.inc");
$c = new xmlrpc_client("/xmlrpc.php", "blog.zaodianshuo.com", 80);
$struct = new xmlrpcval (
array (
"name" => new xmlrpcval ( '1234.jpg','string'), 
"type" => new xmlrpcval ( 'image/jpeg','string'), 
"bits" => new xmlrpcval ( $_POST['pic'],'base64') // $_POST['pic']得到的值是把图片编码过的
), "struct"
);


$msg = new xmlrpcmsg("metaWeblog.newMediaObject");  
$msg ->addParam(new xmlrpcval(1,"string"));
$msg ->addParam(new xmlrpcval("userName","string"));
$msg ->addParam(new xmlrpcval("pass","string"));
$msg ->addParam($struct);
$msg ->addParam(new xmlrpcval("1","string"));
$r =$c->send($msg);
var_dump (php_xmlrpc_decode($r));


忽略下面的文字。

中途遇到一点问题,上传上去的图片无法显示,下载到本地,转成Base64之后的值跟上传之前图片编码后的值再编码一次的值一样,

找到wp-includes\functions.php 1720行左右,方法wp_upload_bits里,把@fwrite( $ifp, $bits );改成@fwrite( $ifp, base64_decode($bits) );这样肯定是不行的,上传其他类型媒体文件也会用到这个方法,待详细研究。

原创粉丝点击