[教學]讓不能外連圖片的空間成為你的圖床
大家一定都有遇過空間不讓你外連圖片的情況,但是這些空間通常都是老字號、以穩定著名,品質快跟付費空間一樣。雖然整體內容是很棒,卻不能外連圖片拿來當作圖床來用,實在有夠可惜的拉。想讓別人羨慕你征服這些空間並把它當圖床嗎?那你就要趕緊靠過來喔~!
著名的免費空間:Ulmb、Zymic,這兩個空間都非常穩定且不會亂刪帳號,想拿來架站卻因為空間有函數、檔案限制只好作罷;想拿來放置圖片當圖床使用,很遺憾一樣也被限制住,不能外連圖片了 (>﹏<)。沒關係!既然空間敢限制我們就有破解的方法,讓你對這些空間重新改觀、愛不釋手。
昨天在免費的喘息上看到網友發的文章,圖床被刪了、有些圖片沒備份,導致現在網站喝北風摟。圖床算是部落格第二重要,找不到一個好的空間來當圖床,你可能要每天向神明祈禱不要掛點瞜~你還在用這種沒有保障又容易被刪帳號的空間當圖床嗎?利用下列方法你就可以擁有穩定的圖床摟。
注意:此方法有可能會導致你被刪空間,請自行評估後果。
第一步:開啟「Notepad++」或「記事本」。
第二步:複製下列語法,並把語法貼在新文件裡。《備1、2》
<?$queryStr = $_SERVER['QUERY_STRING'];if ( !empty($queryStr) ) {$outFile = $_SERVER['DOCUMENT_ROOT'] . $queryStr;if ( !file_exists( $outFile ) ) {echo 'File Not Found: ', $queryStr;} else {header("Cache-Control: public, must-revalidate");header("Content-Type: image/gif" );header("Content-Transfer-Encoding: binary\n");echo file_get_contents($outFile);}}?>
語法轉至喘息網友imbear的文章:玩一玩圖片不外連的空間。
![[教學]讓不能外連圖片的空間成為你的圖床 [教學]讓不能外連圖片的空間成為你的圖床-貼上語法](http://img.shachi.tw/pictures-external/pictures-external-2.jpg)
第三步:點選「檔案」→「另存新檔」,檔名直接打「index.php」,按「存檔」。
【備註】用在Ulmb時,檔名須存成「load_image.php」。
第四步:上傳到「圖床的根目錄」即可。《備3》
第五步:上傳圖片,上傳完後就可以外連圖片了。《備4、5、6、7》
【Ulmb外連測試】
【備註】Ulmb外連圖片在IE底下皆會顯示包子圖,請自行參酌。
【Zymic外連測試】
ps:上述說的Ulmb和Zymic本人測試4個多月,目前空間還是正常運作。
【備1】如果是使用zymic,語法需要稍微修改!
答:需要把這句
$outFile = $_SERVER['DOCUMENT_ROOT'] . $queryStr;
修改成
$outFile = implode('/', explode('/', $_SERVER['SCRIPT_FILENAME'], -1)) . "/$queryStr";
【備2】如果使用ULMB的話,語法要全部換掉!
答:把全部的語法換成下面這3行。
<?phpheader( 'Location: http://'.$_SERVER["SERVER_NAME"].'/'.$_GET["file"] ) ;?>
【備3】如果根目錄已經有架站了(已經有index.php),一定要替代它嗎,有別的方法可行嗎??
答:請直接把外連的index.php上傳到你放圖片的那個資料夾裡或者隨便找個資料夾塞也可以,只是會影響外連網址的美觀度而已。
【備4】如果使用VP後台,外連的圖片網址是?
答:http://yourdomain/?/圖片位置/圖名.副檔名
- 範例:http://imbear.ihost.tw/?/jpg/long.jpg
- 如果你的圖片也是在根目錄,那麼「/圖片位置」就不需要打了。
【備5】如果使用ULMB,外連的圖片網址是?
答:http://yourdomain/load_image.php?file=圖片位置/圖名.副檔名
- 範例:http://shachi.ulmb.com/load_image.php?file=jpg/1.jpg
- 你的load_image.php一定要在根目錄。
- 如果你的圖片也是在根目錄,那麼「/圖片位置」就不需要打了。
【備6】如果使用zymic,外連網址是?
答:http://yourdomain/?/圖片位置/圖名.副檔名
- 範例:http://ml120tw.zzl.org/?/jpg/2.jpg
- 如果你的圖片也是在根目錄,那麼「/圖片位置」就不需要打了。
【備7】如果外連的index.php放在其他資料夾內(非根目錄),外連的圖片網址是?
答:http://yourdomain/外連index.php所在位置/?/圖片位置/圖名.副檔名
- 範例:http://cica.org.ru/img/?/img/logo.jpg
- 如果你的圖片也是在根目錄,那麼「/圖片位置」就不需要打了。
![[教學]讓不能外連圖片的空間成為你的圖床 [教學]讓不能外連圖片的空間成為你的圖床-開啟notepad++](http://img.shachi.tw/pictures-external/pictures-external-1.jpg)
![[教學]讓不能外連圖片的空間成為你的圖床 [教學]讓不能外連圖片的空間成為你的圖床-儲存檔案](http://img.shachi.tw/pictures-external/pictures-external-3.jpg)
![[教學]讓不能外連圖片的空間成為你的圖床 [教學]讓不能外連圖片的空間成為你的圖床-上傳index.php](http://img.shachi.tw/pictures-external/pictures-external-4.jpg)
![[教學]讓不能外連圖片的空間成為你的圖床 [教學]讓不能外連圖片的空間成為你的圖床-上傳圖片](http://img.shachi.tw/pictures-external/pictures-external-5.jpg)



Ulmb外連測試...死掉了。
沒被封太可惜了(拍桌)
可以外連!!
看到覺得好興奮
又學到一種技巧^^
老實說雖然專門放圖片的空間很多
有的也很好用,不過在速度上都不是那麼快
有些還不太穩定,而且如果自己找到一個速度很快
而且夠穩定夠容量流量也OK,卻不能拿來放圖片
感覺就很差
趕快來試試看^^
Zymic 的外連也怪怪的...
直接使用瀏覽器開啟網址是可以開的, 但是使用論壇或是其它空間去連結, 就沒有辦法看到圖片..
http://0rz.tw/x9J5t
這是我申請的 WordPress 空間, 我把圖片放到
http://shyam.zzl.org/wp/scanrouter/01.jpg
直接使用 IE8 或是 FireFox 3.6 開啟網址都是可以看到圖片的, 至是放到文章中, 卻看不到圖, 只能看到 x.
呵……SORRY,沒注意到短消息。
文章我看了,有一點我覺得比較奇怪的是,關於INDEX.PHP的部份
會取名index.php是為了在網址後可以直接接query,即如
http://imbear.ihost.tw/?/jpg/long.jpg
注意到中間的問號了嗎?在不指定php檔名的情形下,會去抓index.php
因此,我不確定
http://shachi.uuuq.com/2.jpg
是否會去使用到index.php來將檔案導出。
以我的認知……我認為
http://shachi.uuuq.com/2.jpg
這個連結是直接外連的。
另外,檔案外連的部份,我還沒試過,我想主要是在於指定mime type的問題。
header("Content-Type: image/gif" );
這一段告訴瀏覽器接著傳送的內容是什麼形態
無論jpg或gif或png檔,通通告訴瀏覽器這是gif檔,其實是ok的,但是如果是txt檔,但卻告訴瀏覽器說:「嘿,我給你的是gif檔哦!」瀏覽器可能就無法做轉換了!
可行的作法是:透過副檔名動態更換mime type
例如
$type = $types[$fileExt];
header("Content-Type: $type" );
如果嫌麻煩,不妨就直接判斷,若不是圖片,即為壓縮檔
通常壓縮檔的mime type是設成
application/zip
即
header("Content-Type: application/zip" );
若想多了解mime type, 可參考
http://www.iana.org/assignments/media-types/
似乎大大的zymic空間是舊型
上面大大的空間是新申請的
新申請的好像不適合此方法才對
新申請仍能用
http://imbear.99k.org/test/?long.jpg
要用在ZYMIC空間的話,
$outFile = $_SERVER['DOCUMENT_ROOT'] . $queryStr;
這一句請改成
$outFile = implode('/', explode('/', $_SERVER['SCRIPT_FILENAME'], -1)) . "/$queryStr";
剛的留言不見了……
新申請的空間仍可使用此方法,
例如
http://imbear.99k.org/test/?/long.jpg
不過,我測試的時候,程式要稍做修改,將
$outFile = $_SERVER['DOCUMENT_ROOT'] . $queryStr;
這一句,改成以下
$outFile = implode('/', explode('/', $_SERVER['SCRIPT_FILENAME'], -1)) . "/$queryStr";
這一句,才能使用……
剛剛申請了 Ulmb 打算只放圖片....
不這個 php 好像不能用了。
圖片全部都被加上 "?" 在檔案名最後....
在頁頂及頁底強迫被加上 google 廣告
http://hkengseries.ulmb.com/jpg/load_image.php?file=jpg/1.jpg? <- 不能用
http://hkengseries.ulmb.com/jpg/1.jpg? <- 強迫被加上 google 廣告
感謝,但可惜 ULMB 開始對ftp及後台連接進行IP地區檢查,用代理申請後一段時間也再不能用非美國IP登入,所以不能測試新語法是否可用啦。
您好!
我照著您的方法在Zymic試,果然成功了,很感謝您!
但是我後來只要輸入網址就會跑到index.php的內容(會出現"語法轉至喘息網友imbear"),而沒辦法到自己所上傳的網站首頁...
我的網站首頁設成index.htm和default.htm都沒有用
請問我該怎麼辦呢?
很抱歉在這裡問這個問題,希望您可以撥冗回答,謝謝!!
不要把index.php放在根目錄就解決了。
假設您網址是
http://test.yourdomain.com
強烈建議你另開目錄丟圖
例如
http://test.yourdomain.com/img/
然後img/底下有一張圖片叫
yourImage.jpg
然後php檔放在img/底下
外連圖片的語法變成
http://test.yourdomain.com/img/?yourImage.jpg
不用想得太複雜……
基本概念是用PHP去讀圖片而後輸出
只要記得圖片路徑是PHP 程式讀得到的,就沒問題了~~
其實,有些空間不用出這個絕招...
直接在.htaccess打上REWRITERULE(防盜連那個)就行- -
最近接觸到一個很棒的空間,全unlimited,就是不能連圖,我用.htaccess也不行,只好用殺氣大這招絕招,怎料,立即可以那!!!
以下是測試連結
http://harry.freehostingcloud.com/images/?/images/Jin_mtr_modify3.jpg
toypark可以直接外連嗎? 還是要利用語法
原來Zymic會封外連喔!
之前都不知道哩~