因为大多数虚拟主机都有流量限制(特别是博客主机),因此很多人都选择把图片储存到 Flickr 和 Picasa 等免费相册里,再通过外链插入到文章里。但由于这些网站经常被 block ,因此我建议大家还是尽量把图片放到自己的服务器上。
由于我个人很懒,万一博客搬家的话,过多的文章附件将会给文件的迁移带来麻烦。因此我以 cosbeta 的 Pika 插件为蓝本写了一个远程图片代理程序,并对较多博客使用的 Picasa 、 Flickr 和 PhotoBucket 这三个图床服务进行了防止链接被重置的处理。请点这里下载脚本。
使用方法
其实这个脚本和 pika 原理一样,但由于我做了较多的修改,使用方法会有所差别。在使用之前,请确定你拥有符合要求的服务器服务器。
- 一个流量较大的国外php主机
- 服务器支持curl函数
如果能满足以上要求,那么你就可以使用这个脚本了。
首先把脚本上传到国外主机一个子域名的根目录下,并把脚本里的 $allow_referer 添加允许调用图片的域名,必须包含此脚本所在的域名和你博客所在的域名,否则图片就无法在你博客显示。
如果你要调用的图片是 Picasa 、 Flickr 和 PhotoBucket 以外的图床,则使用以下的代码(yourdomain是脚本所在的域名):
如果你调用的是 Picasa 的图片,则使用以下的代码( image_url 是 “ggpht.com/” 后面的部分,lh* 是图片外链地址的第一节,也就是服务器编号):
调用 Flickr 和 PhotoBucket 的图片也差不多,把 host 参数改为 farm* (Flickr)和 i**** (PhotoBucket)就可以。之所以把这几个图床的调用方法弄得这么麻烦,是因为这几个图床被block的风险比较大,只要调用这几个网站的图片时链接里不出现这几个网站域名,图片链接就不会被重置,从而当这几个网站被block的时候访客也能看到图片。
图片通过此脚本调用一次后会缓存到服务器里,第二次的调用则直接调用缓存。
PS
我正在把这个脚本做成一个完整的 WordPress 插件,如果你发现这个脚本有不足的地方,请告诉我。
原文链接:http://blog.imbolo.com/php-get-image-from-remote-host/
波比源码 » PHP 获取远程图片:远程图片代理程序
buy levaquin 500mg without prescription buy levaquin 500mg pills
avodart 0.5mg oral order ondansetron 4mg without prescription order zofran 4mg generic
buy spironolactone without prescription cheap finasteride 1mg fluconazole cheap
brand acillin buy erythromycin online order erythromycin 500mg for sale
order sildenafil 100mg pills order bimatoprost generic oral robaxin
purchase sildenafil generic estradiol 1mg uk purchase estradiol online
buy lamotrigine 50mg pills purchase lamictal generic order tretinoin gel without prescription
tadalafil 20mg us buy avanafil pill generic diclofenac 50mg
accutane 10mg sale accutane 40mg tablet generic azithromycin 500mg
indomethacin 75mg drug cefixime 100mg for sale trimox online buy
arimidex 1 mg cheap Buy viagra lowest price sildenafil 100 mg
tadalafil 40mg sans ordonnance en france cialis 20mg sans ordonnance en pharmacie generique viagra 25mg
provigil generic buy diamox generic oral diamox 250mg
order fosamax 35mg order motrin generic purchase pepcid without prescription
buy tacrolimus pills order ropinirole sale buy ursodiol 150mg for sale
generic isosorbide 40mg order isosorbide sale micardis generic
molnunat canada cost cefdinir 300 mg prevacid sale
sertraline ca purchase sertraline for sale buy viagra 100mg online
buy cialis 40mg generic symmetrel 100mg drug buy symmetrel 100mg pills
naltrexone tablet order letrozole 2.5 mg buy aripiprazole 30mg generic
order dapsone 100 mg purchase dapsone online aceon 4mg usa
order provigil online cheap canadian pharmacy online coupon stromectol brand
order zithromax generic buy neurontin without prescription neurontin 800mg us
oral lasix 100mg buy plaquenil 400mg pill plaquenil 200mg ca
cheap tadalafil 5mg cialis black buy clomipramine 25mg generic
itraconazole over the counter buy itraconazole for sale tinidazole 500mg pills
sildenafil mail order usa viagra 100mg pills for men buy lisinopril online cheap
order zyvox 600 mg online real casinos online no deposit online roulette game
buy prilosec 10mg generic write thesis casino slots
buy metoprolol 50mg generic lopressor cheap buy levitra 10mg for sale
levitra 20mg usa methylprednisolone over counter medrol 4mg over counter
order cialis sale buy generic cialis 20mg order generic sildenafil 100mg
order dapoxetine synthroid over the counter order synthroid 75mcg pill
order orlistat generic orlistat 120mg oral zovirax 400mg over the counter
cialis 5mg over the counter cialis 5mg clopidogrel online
buy allopurinol sale rosuvastatin for sale purchase ezetimibe sale
buy cozaar 25mg sale buy nexium 40mg for sale topamax 200mg oral
baclofen 10mg oral lioresal price ketorolac pill
colchicine 0.5mg oral online blackjack for money no deposit free spins
order generic ranitidine purchase ranitidine online cheap celebrex pill
simvastatin 20mg pill generic valacyclovir propecia 1mg without prescription
order cefuroxime 500mg generic bimatoprost order online robaxin 500mg uk
desyrel pills buy sildenafil 100mg online generic sildenafil 50mg
sildenafil price oral lamictal 50mg order lamictal without prescription
viagra price buy generic viagra 50mg tadalafil for sale online
azithromycin over the counter order gabapentin 600mg without prescription neurontin cost
roulette online with real money online roulette wheel tadalafil drug
oral lasix 100mg order doxycycline buy generic plaquenil
prednisone usa prazosin 2mg usa mebendazole sale
buy generic sildenafil 50mg purchase sildenafil generic order budesonide pills
cost retin order tadalis 20mg for sale order avanafil sale
order generic tadalafil tadacip price brand indocin 50mg
cost terbinafine 250mg generic cefixime 100mg trimox 250mg cost
naprosyn sale cefdinir 300 mg pill buy lansoprazole online
proventil us cheap proventil 100 mcg ciprofloxacin usa
order generic spiriva 9mcg minocin 100mg without prescription hytrin 5mg usa
singulair generic sildenafil pills usa viagra overnight
cialis otc buy cialis 5mg pill purchase cialis
order cialis 10mg pills Discounted cialis online online casino games for real money
ivermectin and covid order dapsone 100mg generic avlosulfon for sale online
money slots online poker free casino
altace 5mg oral buy arcoxia 120mg generic arcoxia over the counter
buy doxycycline for sale order albuterol pill cleocin 300mg over the counter
buy essay now azulfidine 500 mg brand buy azulfidine pill
buy generic asacol order azelastine 10 ml for sale avapro price
buy temovate generic buspirone order generic amiodarone 200mg
acetazolamide 250mg generic imuran canada buy generic imuran 50mg
oral lanoxin molnupiravir generic molnunat 200mg over the counter
alendronate 70mg pill furadantin 100 mg brand order generic ibuprofen
buy nortriptyline 25 mg without prescription order generic paxil 20mg paroxetine 20mg sale
buy generic pepcid 20mg tacrolimus 5mg us remeron 15mg canada
buy requip 2mg online order rocaltrol for sale labetalol 100mg price
tricor 200mg pill sildenafil 200 mg sildenafil tablet
cialis pills 10mg Overnight delivery tadalafil purchasing viagra on the internet
cialis super active Generic cialis sale medication for ed
order modafinil online cheap buy generic promethazine 25mg phenergan online buy
oral deltasone 20mg prednisone cost buy amoxil
order fildena order sildenafil 100mg for sale generic finasteride 1mg
zofran buy online buy ondansetron 8mg buy bactrim 960mg for sale
order ventolin inhalator without prescription order synthroid 100mcg generic order amoxiclav generic
dapsone 100mg brand buy generic avlosulfon 100mg atenolol oral
viagra next day cialis cost tadalafil generic name