看板 PHP 關於我們 聯絡資訊
我要寫一個網站監控程式。 在公司的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
LPH66:咦 你 echo 出來的都是 $testdata1 XD 12/12 21:59
siebergx:貼文章的時候打錯…已修正 12/12 22:01
※ 編輯: siebergx 來自: 114.42.171.80 (12/12 22:02)
benck:你是用瀏覽器去看jsp印出來的東西嗎?說不定有多印別的東西 12/12 22:30
benck:如果是用瀏覽器的話…用檢視原始碼看看到底印什麼東西吧 12/12 22:31
benck:其實就算字串長度不一樣,你只要知道testdata1的日期的10個 12/12 22:32
benck:字元在第幾個到第幾個,你可以用substr去處理... 12/12 22:32
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)