我正在尝试将多张照片上传到Tumblr的photoset帖子中。我正在使用PHP连接到Tumblr并进行身份验证。我可以发布个人照片和视频,但似乎无法弄清楚照片。 Stack上还有其他帖子可以帮助除PHP以外的其他语言。
我有一张照片目录。我得到这些文件的内容,并使用scandir将它们放入一个数组中。但是当我尝试将该数组发布到Tumblr时,它不起作用。
$scanned_directory = array_diff(scandir($directory), array('..', '.'));
$ connection-> post(“blog / $ hostname / post”,array('type'=>'photo', 'state'=> $ dest,'link'=> $ sourceurl,'source'=> $ sourceurl, 'caption'=> $ caption,'tags'=> $ tags,'data'=> $ scanned_directory));
我做错了什么?
感谢您的帮助!
答案 0 :(得分:2)
我认为你应该迭代$ scanning_directory变量,并确保你不仅仅提供Tumblr API的路径和文件名,但是你的图像文件的实际内容与file_get_contents(),一个工作示例可能看起来很可能像这样的东西:
foreach($scanned_directory as $filename){
$data[] = file_get_contents($directory.'/'.$filename);
}
$connection->post("blog/$hostname/post", array('type' => 'photo', 'state' => $dest, 'link' => $sourceurl, 'source' => $sourceurl, 'caption' => $caption, 'tags' => $tags , 'data' => $data));
这应该可以解决问题,只需确保$ directory变量实际上是图像目录的绝对路径(例如'/var/www/myhost.tld/public/images/photoset')