Twitter的优秀客户端Gravity所支持的几个图片服务都已经被GFW,只有Flickr还可以使用了。Flickr 目前可以访问,但是唯独图片不能显示。之前有想过搭建图床,以邀请制供推友发图。却因为没有合适的开源程序而作罢。
用Gravity将手机拍的照片传至Flickr的确是个不错的主意。嘀咕网的手机拍照上传的意义也是记录生活分享点滴,何况还有Flickr强大的照片管理功能。我目前发现的唯一问题是,Gravity上传的图片Exif信息会丢失。
Gravity 上传至 Flickr
先访问 http://mobileways.de/flickr ,在Flickr中授权给Gravity,并获得 Flickr Code。 在 Gravity 的图片功能中,Options->Setting,输入 Flickr Code 即可。
选一张照片,在下拉的选项中单击 flickr ,很快就上传完毕了。如果嫌图片质量不高,可以在 Setting 中调整。
博客引用 Flickr 图片
相信一定有 WordPress 的 Flickr 管理软件,配合一些将外部图片下载到本地的插件,就可以做到墙内用户无障碍浏览。但我没发现在 typecho 中的相关的插件。所以索性弄了个简单的办法,适用于服务器在国外的同学们。
保存以下内容为 index.php:
<?php
define('STATIC_URL','http://farm5.static.flickr.com/');
define('REAL_URL','http://photo.dallas.lu/'); //编辑此处改为你的空间域名
if ( curl_download( STATIC_URL.$_GET['file'],$_GET['file'] ) ){
header("Location: ".REAL_URL.$_GET['file']);
exit;
}else{
header("HTTP/1.0 404 Not Found");
exit;
}
function curl_download($remote, $local) {
$cp = curl_init($remote);
$fp = create_file($local, "w");
curl_setopt($cp, CURLOPT_FILE, $fp);
curl_setopt($cp, CURLOPT_HEADER, 0);
curl_setopt($cp, CURLOPT_FOLLOWLOCATION,1);
curl_exec($cp);
$httpinfo= curl_getinfo($cp);
if ( $error = curl_error($cp)
||$httpinfo['http_code'] != 200 ){
curl_close($cp);
fclose($fp);
@unlink ($local);
return false;
}else{
curl_close($cp);
fclose($fp);
return true;
}
}
function create_file( $file_name,$w){
$dir_name=dirname($file_name);
if(!file_exists($dir_name)){
mkdir($dir_name);
}
if (file_exists($file_name)){
@unlink ($file_name);
}
return fopen($file_name, $w);
}
然后加入URL重写规则到 .htaccess 文件:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
嗯,然后把这个index.php 和 .htaccess 发布到你的php空间中即可。在flickr中获取图片外链地址时,将 farm*.static.flickr.com 替换成你的域名就行啦。
Webmention
Comment Form
很受益
路过。
最保险的还是放在自己服务器上,站有图片在,站亡图片亡,哈哈
这个脚本就是把 flickr 上的图片下载到自己服务器上的。不过,不是原始图片了。