[轉貼]用PHP抓目前正在瀏覽的網頁網址函數

[轉貼]用PHP抓目前正在瀏覽的網頁網址函數

假如網址列是http://www.kimo.com.tw/test.php?id=20&link=123456

$_SERVER[‘PHP_SELF’]; 是取得 /test.php
$_SERVER[‘QUERY_STRING’]; 是取得 ?id=20&link=123456
$_SERVER[‘HTTP_HOST’]; 是取得 www.kimo.com.tw
$_SERVER[“REQUEST_URI”] 會給檔名 + 參數 (如 /tw/show/rating?userID=tata3055) 閱讀全文〈[轉貼]用PHP抓目前正在瀏覽的網頁網址函數〉

[轉貼]永久免費SSL憑證,沃通SSL申請流程全攻略!!

永久免費SSL憑證,沃通SSL申請流程全攻略!!

自從Google 公開表示會針對具有SSL安全連線的網站提升其搜尋排名後,

各家網站也都如火如荼的開始跟上這波SSL安全連線的風潮,但SSL憑證授權要價不斐,

該怎麼辦呢?! 還好現在有了 沃通 Wosign 及 StartSSL 提供了免費的SSL憑證,

甚至還有中文介面呢!!

閱讀全文〈[轉貼]永久免費SSL憑證,沃通SSL申請流程全攻略!!〉

[轉貼]網站開發者參考:開源PHP網站源碼

PHP 網頁設計 技巧

大量既PHP開源(開放源代碼/Open Source)應用改變左呢個世界,改變左網際網路,以下我們總結從數據庫到購物、博客等眾多類型既開源PHP軟體,供網站開發者們參考。 閱讀全文〈[轉貼]網站開發者參考:開源PHP網站源碼〉

[轉貼]講解 Subversion 分支與合併:以 TortoiseSVN 為例

http://blog.miniasp.com/post/2010/01/29/Subversion-Branches-and-Merging-using-TortoiseSVN.aspx

在實務的版本控管情境中,套用分支與合併應該是最方便不過的了,會用的人可以得到許多版本控管的好處,但不會用的人卻會因為不理解而害怕使用它,由於 Subversion 1.5 開始新增了 Merge Tracking 功能,可有效降低維護分支的負擔,所以能學會分支與合併的技巧對整個版本管理流程來說會有非常大的幫助,今天我就來講解幾個利用 TortoiseSVN 實際的操作分支與合併的例子。

閱讀全文〈[轉貼]講解 Subversion 分支與合併:以 TortoiseSVN 為例〉

BTC SHOP 比特幣商店

自行用 開源 OpenCart 下去改寫的 比特幣拍賣購物網站 目前處理的狀況尚算理想
http://98goto.com/btcshop/

另外有其他人推薦我去參考看看 bitmit (網站已停) 的做法
確實 bitmit的功能實在強悍的不可思議 在OpenCart的架構下要改到 bitmit 近乎不可能的任務 實在過於龐大 幾乎整個都要敲掉的程度了

bitmit 參考資料 http://p2pbucks.com/?p=8024

可如果整個打掉重寫 那又是一筆不得了的開支 實在是無奈至極. 不過做為改變的方向 似乎可以說是一個不錯的方向 慢慢的改版上去 應該是可行的

我的網站的前後台狀況一覽:

  • 前台畫面因為風格可改的關係 其實沒有太大的參考價值就是

  • 後台方面 又區分為 管理者 跟 賣家 的不同的權限 此圖為 賣家權限的後台

  • 比較特別的是 系統連接 bitcoin-qt 自動生成地址來支付 即可判斷訂單是否正常入款

  • 另外 採用多賣家的概念 並非已往商城的模式只有由公司方面上架商品 會類似於 露天商店 或者是 掏寶網 等 使用者可以自行上架商品販賣的概念

  • 賣家的出貨狀態管控
  • 其中較為特別的是 採用 類似 8591網站 的 買家回報機制 保障買賣雙方

OpenCart 再戰心得

這次有了PHP的底子

SQL底子 CSS底子

.Net(C#,VB)的磨練

幾乎可以挑戰MVC+L的結構 不過嘛 還真的是很複雜呢
尤其在撰寫php時 要跳來跳去 是一個很麻煩的事情

這時後真的會很想問 難道沒有好一點的php的開發工具嗎?
(有點被微軟.net寵壞了)

目前就只能用Notepad++下去修
嘛~ 雖然比起當初都用記事本弄PHP是好很多了說…^^

範例站:
http://98goto.com/btcshop/

Bitcoin交易網站草稿

Bitcoin交易平台

募資初步估計約需100萬 
其中設計這個網站的花費大概是50萬左右 
伺服器跟網路的租用大概是 10-15萬左右 
人力的需求大概是2-5個人 大概是 20萬
(初期會看人力增減) (預抓網站啟用後的2-3個月)
禮品跟活動的開銷大概5萬 
剩下就做為營運所需的其他雜支概略10萬 

初期開支規劃


開發階段 (開發時間2個月)
-網站設計50萬

正式營運 第一個月
-網路租用10-15萬(一年或半年計)
-活動開銷 5萬
-人事一個月(暫定2人) 4-5萬
雜支概略7萬

第二個月
-人事一個月(暫定2人) 4-5萬
雜支概略3萬

第三個月
-人事一個月(暫定2人) 4-5萬

第四個月
-人事一個月(暫定2人) 4-5萬

暫時財務規劃 (單位:月) 
(這邊是給非募資人的投資人所看 不過募資投資人我會算進來)

用18萬~27萬來看 營利50%投資人 ≒ 9萬 ~ 13.5萬 (按比例分配

營利20%發起人≒ 3.6萬 ~ 5.4萬 
營利20%公司營運準備金(人事薪資.網站開支.廣告費) ≒ 3.6萬~ 5.4萬 
營利10%員工分紅/補貼薪資≒ 1.8萬 ~2.7萬 (如比例過高 會降低調整 此部分含部分人事薪資)

以上財務規劃相當並不太完善 細部調整會在有正式收入後做調整
可以肯定的是 投資人的百分比會落在30~50%之間

如用一個月總手續費收入18萬來看(3%的情況下)
股東分得 9萬
發起人 3.6萬
營運金 3.6萬
分紅補貼 1.8萬
(營運金 3.6萬 + 分紅補貼 1.8萬 = 5.4萬 為人事開支 約可聘請2-3人)
以某A股東 投資10萬 (目前暫定總金100萬 一個月收益18萬)
可得收益 9萬/100*10 = 9,000 (月) (派發時間可能為 1月~半年~1年 看情況而定)
如實際調整手續費在3%以下會降低收益增加流量 這方面還要評估

 風險評估

  此專案短期營運不善,可能短時間內燒光營運資金,會造成血本無歸,所以以網站開啟(網站開發時程需要二個月)的三個月內暫時不分配利益下去,但如營運順利即亦可能一個月就發放下去。另外資金在投資網站開發就已經花下去,中途要退出恐有困難必須諒解。

網站經營規劃

  畢竟這網站起來流量問題會造成隱憂,我估計用漸進的方法去加強,在有營運的資金下,下去累積加強這網站留下一部分的營收來加強穩固網站的各方面

獲利為手續費收入,如以一天交易10BTC的量來看
單筆單次手續費3%來說 市價估2~3萬算2萬*3% = 600元~900元 
一天交易 10 BTC 來算 = 6000~9000 
一個月30天 = 18萬~27萬
(3% 10BTC ; 1% 30BTC 兩邊達標 因無困難)

以上是假定的手續費收入,當然一天10BTC我覺得並不會太困難
(比特幣中國一天交易量有6-10萬BTC , MtGox一天交易量有2-5萬BTC),不過台灣畢竟沒有一個很完備的交易所,交易量會有多少,實在難以假定,用以上方式去計算預期收益概略需要3-4個月以上的回本時間,但是採用以下方法來在初期的財務規劃

大方向基本上是交易量越多   手續費收得越低  直到0.6%(舉例)
比如說1月整個網站總交易量達到50btc
那麼下個月總網站手續費就變成2% (這邊出資人需要一起探討)
多語言包 支援 簡繁.英文


暫定系統架構

Appserv + PHP + MySQL (採用PHP可大幅提升網站效能)
平台: 考量中
伺服器: 考量中
網路: 考量中
租用網路平台:考量中
安全防護:考量中

網站內容


會員系統
會員後台 (交易買賣 資金管理等)
管理員後台 (使用者分群.管理者分群)

手機驗證 (註冊認證.提款簡訊認證)
身分驗證(需提供 可證明文件.可證明地址 人工審核)
比特幣掛價買賣 (含自動換算)
比特幣市價買賣 (含自動換算)
現金充值 (超商.ATM 人工處理入帳) (可能會有關閉的可能)
比特幣充值 (自動處理入帳 4個認證)
提現 (BTC.NTD 人工處理出帳)
即時行情(線圖)
供外部使用API
其他相關網站報價

二期規劃 (網站後續的子網站)

商家使用: 比特幣入帳 立刻 市價賣出
比特幣網路 購物車.拍賣 商店
網站AD
私下交易留言板
周邊商品舘

目前規劃狀態 (Logo DNS 尚未決定)















禮品設計圖


三方支付相關新聞

相關法律

其他暫存

公司登記:
應備文件 ■ 選取公司名稱2~3個。 ■ 選取公司營業項目。 ■ 負責人及股東身分證明文件影本。 ■ 公司資本決定及資金到位證明文件(存摺影本及銀行餘額證明正本)。 ■ 房屋租賃契約及房屋稅單影本。 ■ 登記大小章及發票章。

域名: onebtc.org onebtc.com.tw onebtc.tw onebit.com.tw onebit.tw wanbit.com.tw wanbit.tw wanbtc.org wanbtc.com.tw wanbtc.tw

php抓取網頁特定div區塊及圖片

[部分轉貼]php抓取網頁特定div區塊及圖片

//舉一反三
<?php  
//取得指定位址的內容,並儲存至text  
$text=file_get_contents(‘http://www.moea.gov.tw/Mns/populace/activephoto/ActivePhoto.aspx?menu_id=3874&ap_id=1666’);   

//取出div標籤且id為PostContent的內容,並儲存至陣列match  
preg_match(‘/<div[^>]*style=”margin-left: 37px”[^>]*>(.*?) </div>/si’,$text,$match);  
  
//印出match  
//print_r($match);
$length = count($match);
while ($i <= $length) {
echo($match[$i]);
$i++;
}
?>
//
昨天有個朋友在問我說,php怎麼抓取網頁某個div區塊的內容。像funp推推王那樣每次推文都會顯示文章內的圖片,提供縮圖撰擇,又是怎麼做到的?其實這語法出乎意料的簡短…
php抓取網頁特定div區塊及圖片
1. 取得指定網頁內的所有圖片測試
  1. <?php  
  2. //取得指定位址的內容,並儲存至text  
  3. $text=file_get_contents(‘http://andy.diimii.com/’);   
  4.   
  5. //取得所有img標籤,並儲存至二維陣列match  
  6. preg_match_all(‘#<img[^>]*>#i’$text$match);  
  7.   
  8. //印出match  
  9. print_r($match);  
  10. ?>  
2. 取得指定網頁內的第一張圖片測試
  1. <?php  
  2. //取得指定位址的內容,並儲存至text  
  3. $text=file_get_contents(‘http://andy.diimii.com/’);  
  4.   
  5. //取得第一個img標籤,並儲存至陣列match(regex語法與上述同義)  
  6. preg_match(‘/<img[^>]*>/Ui’$text$match);  
  7.   
  8. //印出match  
  9. print_r($match);  
  10. ?>  
3. 取得指定網頁內的特定div區塊(藉由id判斷)測試
  1. <?php  
  2. //取得指定位址的內容,並儲存至text  
  3. $text=file_get_contents(‘http://andy.diimii.com/2009/01/seo%e5%8c%96%e7%9a%84%e9%97%9c%e9%8d%b5%e5%ad%97%e5%bb%a3%e5%91%8a%e9%80%a3%e7%b5%90/’);   
  4.   
  5. //去除換行及空白字元(序列化內容才需使用)  
  6. //$text=str_replace(array(“r”,”n”,”t”,”s”), ”, $text);     
  7.   
  8. //取出div標籤且id為PostContent的內容,並儲存至陣列match  
  9. preg_match(‘/<div[^>]*id=”PostContent”[^>]*>(.*?) </div>/si’,$text,$match);  
  10.   
  11. //印出match[0]  
  12. print($match[0]);  
  13. ?>  
4. 上述2及3的結合測試
  1. <?php  
  2. //取得指定位址的內容,並儲存至text  
  3. $text=file_get_contents(‘http://andy.diimii.com/2009/01/seo%e5%8c%96%e7%9a%84%e9%97%9c%e9%8d%b5%e5%ad%97%e5%bb%a3%e5%91%8a%e9%80%a3%e7%b5%90/’);      
  4.   
  5. //取出div標籤且id為PostContent的內容,並儲存至陣列match  
  6. preg_match(‘/<div[^>]*id=”PostContent”[^>]*>(.*?) </div>/si’,$text,$match);     
  7.   
  8. //取得第一個img標籤,並儲存至陣列match2  
  9. preg_match(‘/<img[^>]*>/Ui’$match[0], $match2);   
  10.   
  11. //印出match2[0]  
  12. print_r($match2[0]);  
  13. ?>  

後記:用正規表達式Regex來做真的很方便,但老實說我規則常會忘掉,記錄一下幾篇文章好了(Regular Expression DetailsPCRE Functions | Introduction to PHP Regex | 天殺的正規表示式…

[轉貼]Google Chrome F12 開發者工具

轉載 http://fundesigner.net/chrome-dev-tool/

每次當要寫網頁時,不外乎就是時常打開瀏覽器來看顯示是否正常,看看是不是哪邊語法錯誤等等。而如果發現錯誤,我第一個不是回去看程式碼有沒有問題,而是使用Google Chrome開發者工具(Developer Tools),這個工具相當方便,不但在開發時能夠讓CSS快速完成,並且能夠即刻查看效果,沒錯,我平常都是這樣用的。
什麼是「Google Chrome Developer Tools 開發者工具」?
有些讀者可能沒使用過這個工具,其實這個工具在Google Chrome中就已經內建了,只要用Chrome開啟任一網頁按下「Ctrl+Shift+I」就會開始這個開發者工具。
另法:直接用滑鼠,按右鍵點「檢查元素」。
1
如上圖,會跳出一個Developer Tools開發者工具。這時候我們就可以來好好利用這個工具囉!
另外,也可以讓他固定在瀏覽器的下方,不獨立出一個視窗。只要點開發者工具視窗的左下角,第一個按鈕,就可以了。
3
然後就可以固定住了。
4

選取某區塊、段落

當我們要開始使用之前,當然要先選到要修改的地方,不需要再一直從開發者工具去打開層疊樹找指定區塊。
所以,我們先把滑鼠移到某區塊上面,並點選「檢查元素」:
2
這樣一來開發者工具就會自動固定到該區塊,然後看到下圖的右邊,出現了可以修改的樣式!
5

CSS 調較樣式、新增樣式功能

這個功能是我最常用的一項功能,因為用他來開發 CSS 樣式真的非常快。
承上一節,我們看到右方的樣式部分:
6
從上圖可以看到,怎麼會出現兩個font-size?因為我在開發的時候不小心前面打過了後面又再打一次,所以,前面的15px會自動被後面的16px覆蓋掉,而15px會被劃刪除線,意思就是這句已經被覆蓋掉不會生效。

修改顏色

在開發過程中常常會修改顏色,到最好看的地方。承上圖,我們可以看到在background: 右邊有一個正方形的顏色塊,我們可以點一下。
點一下之後我們就可以選其他顏色,而且這個調色盤的功能相當完整,是用漸層來讓你選顏色,而且還有透明度的調整。
7
另外你還可以發現點了之後,在網頁中的該區塊顏色會立即被更改成你選擇的顏色,方便立即查看效果。
(當然,這邊的修改在重新整理之後就會恢復原本的樣子)

修改值

很簡單,在每一個樣式上按一下就會自動變成編輯狀態,然後就可以修改成你要的樣子。
如下圖,我將留白改為左右各60px。
8
小技巧:將數值反白後,可利用鍵盤的↑↓鍵來調整數值,一次單位為1。

自動完成功能

此外開發者工具也很貼心的有自動完成的功能,只要輸入字頭,就會自動跳出自動完成的字了,這時候只要按下TAB鍵就可以自動完成拼字了。
9

取消樣式

當然,也可以把不需要用到的樣式,或不要用的樣式讓他不生效,很簡單,在屬性的左邊有一個打勾勾的地方,把他勾掉就不會套用該行樣式。
10

新增樣式

新增樣式的方法也很簡單,只要在旁邊的空白處按一下左鍵,就會出現新增屬性的框框了。
11
把自動完成發揮到極致,如下圖,選擇border,按下Enter,再按下TAB輸入值即可。
12
然後就可以整個把他輸入完囉,最後再按一下Enter就可以完成編輯。
13

HTML 新增、刪除、更名元素

Google當然也有想到這一點,所以在開發者工具裡面也可以把元素做一些調整,如刪除、新增和修改。
而要做這一些步驟,只要在開發者工具左方的元素上按下右鍵即可。
14
這邊可以做很多項調整,像是可以刪除該元素,如上圖。
如果你想要改class屬性的值,就在那上面快點兩下,就會變成編輯的狀態,就能修改。
15

偵錯功能

當然,開發者工具一定要有偵錯功能才稱的上是開發者工具嘛,要看目前的網頁有沒有錯誤,就點一下Console標籤即可。
16
這時候就可以知道哪邊有問題、想辦法要如何解決了。像是第二行的錯誤很明顯就是找不到檔案,這時候就可以去想是不是檔案名稱打錯了之類的解決方式。

務必記得

請注意,在這個開發者工具內做的所有動作都是暫時的,所以當你使用開發者工具修改了某元素之後,請務必也將原始檔案做更改的動作,才會生效。否則重新整理之後還是會恢復原來的樣子。
使用開發者工具的好處就是可以馬上添加某樣式下去看效果,修改樣式。Yuxin都是使用這個將覺得不好看的樣式先用開發者工具做修改,然後再將修改後的樣式程式碼複製,再貼回原始檔。
就這樣,真的能讓網頁設計開發的速度變得更快,時間是很寶貴的,能省時間,當然就要盡量去省。如果你也是Chrome的愛好者並且常常開發網頁,您不妨也用用看這個開發者工具的功能吧!

JS修改css樣式切換 js css 收闔效果


#html
<a href=”#tr1″ class=”Tableslide”>
        <table border=”0″ width=”100%”>
            <tr>
                <td>
                    <samp>連結</samp>
                </td>
                <td ID=”img_title_ar” Class=”title_ar1″ >
               
                </td>
            </tr>
        </table>
</a>

<div id=”tr2″>

</div>

#js
    $(“.Tableslide”).click(function() {
        var _this = $(this).attr(“href”);
        if ($(_this).css(“display”) == “none”) {
            $(_this).slideDown();
            //$(this).html(“-“);
            document.getElementById(“img_title_ar”).className = “title_ar1”;
        } else {
            $(_this).slideUp();
            //$(this).html(“+”);
            document.getElementById(“img_title_ar”).className = “title_ar2”;
        }
        $(“#msg”).html($(_this).css(“display”));
        return false;
    });

#css
.title_ar1
{
    background: url(‘../images/title_arup.gif’);
}
.title_ar2
{
    background: url(‘../images/title_ardw.gif’);
}

[轉貼] PHP資料加密

http://www.hkcode.com/programming/242

這裡是將用戶密碼用 MD5() 加密後加插入資料庫:
PLAIN TEXT

CODE:

  1. <?php
  2. $db_conn = mysql_connect(“host”“db_user”“db_pass”);
  3. mysql_select_db(“db_name”, $db_conn);
  4. // 插入資料表的 $password 用了 md5 加密
  5. mysql_query(“insert into users values
  6.                         (‘$username’, ‘”.md5($password).“‘)”);
  7. ?>
檢查用戶名稱及密碼:
PLAIN TEXT

CODE:

  1. <?php
  2. $db_conn = mysql_connect(“host”“db_user”“db_pass”);
  3. mysql_select_db(“db_name”, $db_conn);
  4. $sql = mysql_query(“select * from users where
  5.                         `username`=’$username’ and
  6.                         `password`='”.md5($password).“‘”);
  7. if (mysql_num_rows($sql) > 0) {
  8.     // 用戶名稱及密碼正確
  9. } else {
  10.     // 用戶名稱及密碼錯誤
  11.     exit();
  12. }
  13. ?>
用以上方法寫出來的登入系統,只用用戶是知道自己的密碼,系統管理員最多只能夠修改密碼,而不能看到源始密碼是什麼。

opencart step_3 安裝出錯

opencart step_3 安裝出錯
問題在於 不要使用 WAMP 2.6.0 安裝包
原因不明~
(事後猜測 可能是我腦殘 Win7裝這包…appserv-win32-2.6.0) 
解說:win7 是 win64位元的 使用32位元的去裝 "可能" 會有問題…

使用 AppServ_2.5.10 就可以安裝的很開心 Orz…

另外win7可能發生的問題 [轉貼]Win7 MySQL的phpmyadmin無法開啟

進階閱讀
OpenCart後台簡易防駭防入侵

[轉貼]Win7 MySQL的phpmyadmin無法開啟

[轉貼]Win7 MySQL的phpmyadmin無法開啟

http://cabuchi.pixnet.net/blog/trackback/c366cbf8e4/37900431

http://cabuchi.pixnet.net/blog/post/37900431-appserv%EF%BD%9Cphpmyadmin%E7%84%A1%E6%B3%95%E7%99%BB%E5%85%A5%EF%BC%8C%E9%96%8B%E5%95%9F%E5%BE%8C%E4%B8%80%E7%89%87%E7%A9%BA%E7%99%BD

安裝好AppServ重新開機後
要開啟localhost/phpmyadmin無法進入
一直loading一片空白
是因為Windows7的hosts預設是空的
解法:
修改C:WindowsSystem32driversetc 的host
把127.0.0.1的#拿掉
hosts 
若不是使用管理者帳號修改此檔案 會無法修改
可使使用複製修改後,再覆蓋的方式,就可以解瞜!

[轉貼]【PHP】防止SQL注入攻擊 (mysql_real_escape_string)


http://www.wretch.cc/blog/sos80065/34790453
 
mysql_real_escape_string()會自動在特殊字元前面加上\
例如: $a =what's 
就會變成
what\'s
這樣一來就可以防止SQL攻擊。

例如有段程式碼如下:
$sql="SELECT * FROM test WHERE id = ' ".$id." 'pass= ' ".$passwd." ' ";

如果有人在pass裡面輸入 ' or '1'='1
那這樣不就會變 
$sql="SELECT * FROM test WHERE id = ' test 'pass= ' ' or '1'='1 ' ";

所以我們把程式碼改成
$sql="SELECT * FROM test WHERE id = ' ".mysql_real_escape_string($id)." 'pass= ' ".mysql_real_escape_string($passwd)." ' ";

這樣就不怕有心人了