作者siebergx (...)
看板PHP
標題[請益] 資料庫字串的長度怎麼算?
時間Sun Dec 12 21:57:15 2010
我要寫一個網站監控程式。
在公司的server裡,寫一支簡單的jsp檔並連結資料庫:
SQL語法:
select CURRENT_DATE
以今天為例,抓出來的內容是 2010-12-12
然後我自己的電腦也有架apache server,寫一支php檔並做一個工作排程:
1.用curl函數去執行前面那個url,會得到 2010-12-12 這個字串
2.設定 某變數 = date("Y-m-d")
以今天為例,內容一樣是 2010-12-12
3.然後那支php檔去比對這兩個字串內容,只要內容一樣,
就表示網站還活著。
奇怪的是,秀出來都是一樣的內容,都是 2010-12-12 這幾個字,
但是比對結果就是不一樣。
後來用strlen();去看,長度竟然不一樣??
用curl執行的結果,長度是 21
用 data函數執行的結果,長度是 10
怎麼會這樣??
monitor.php:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "
http://abc.com/test.jsp");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$testdata1 = curl_exec($ch);
curl_close($ch);
$testdata2 = date("Y-m-d");
echo $testdata1; echo '<BR>";
echo $testdata2;
echo strlen($testdata1);; echo '<BR>';`
echo strlen($testdata2);
if($testdata1 == $testdata2){
echo '網站還活著';
}
順便附上 test.jsp 的內容
String sql = "select CURRENT_DATE;";
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
rs.next();
out.print(rs.getString(rsmd.getColumnName(1)));
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.171.80
1F:推 LPH66:咦 你 echo 出來的都是 $testdata1 XD 12/12 21:59
2F:→ siebergx:貼文章的時候打錯…已修正 12/12 22:01
※ 編輯: siebergx 來自: 114.42.171.80 (12/12 22:02)
3F:→ benck:你是用瀏覽器去看jsp印出來的東西嗎?說不定有多印別的東西 12/12 22:30
4F:→ benck:如果是用瀏覽器的話…用檢視原始碼看看到底印什麼東西吧 12/12 22:31
5F:→ benck:其實就算字串長度不一樣,你只要知道testdata1的日期的10個 12/12 22:32
6F:→ benck:字元在第幾個到第幾個,你可以用substr去處理... 12/12 22:32
7F:→ benck:因為你沒附真正jsp的網址,沒人可以跟你說問題在哪... 12/12 22:32
對耶。
用原始碼看,長這樣:
----------------
2010-12-12
----------------
所以用這樣就成功了:
$testdata = curl_exec($ch);
$testdata1 = substr($testdata,7,10);
謝謝
※ 編輯: siebergx 來自: 114.42.171.80 (12/12 22:41)