作者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)