2009年10月22日 星期四

讓php錯誤訊息顯示在網頁上

因為可能會把php.ini裡的display_errors設成off,這樣網頁有錯誤訊息就不會顯示
display_errors = Off

若要在某個網頁顯示錯誤訊息,可在程式加
ini_set('display_errors', 'On');

可以順便加 error_reporting(E_ALL | ~E_WARNING| ~E_NOTICE)

2009年10月20日 星期二

jquery+ajax用json回傳值

javascript:
<script language="JavaScript" src="json.js"> </script>
$(document).ready(function(){
 $("#lookfor_s").click(function(){
  var y = $("#s_year").val(); //年
  var m = $("#s_month").val(); //月
  $.ajax({
   type:"POST",
   url:"test.php",
   dataType:'json',
   data:"year="+y+"&month="+m,
   success:function(json){
    $('#show_1').html(json[0]);
    $('#show_2').html(json[2]);
   } //success
  }) //ajax
 });
});

html:
<input type="button" name="lookfor_s" value="查詢" id="lookfor_s"/>
<span id="show_1"></span>
<span id="show_2"></span>

php:
require_once ('JSON.php');
$j = new Services_JSON();
$return_data = array();
$return_data[0] = iconv("big5","UTF-8","這是");
$return_data[1] = "test";
$jsonString = $j->encode($return_data);
echo $jsonString;
exit;

參考資料:
http://blog.xuite.net/vexed/tech/26580605
http://liaosankai.pixnet.net/blog/post/16753266

2009年10月19日 星期一

reload時出現訊息

window.onbeforeunload = function conReload(){
  return "確定重新整理?";
}


2009年10月15日 星期四

找出這個月的最後一天

//找出下個月的第一天
$nextmonth = date('Y-m-01',strtotime(date("Y-m-d").' +1 month'));

//下個月的第一天的前一天即為這個月的最後一天
$lastday = date("Y-m-d", strtotime('-1 days', strtotime($nextmonth) ));

2009年10月9日 星期五

連到別的主機

在Linux下用/usr/bin/local/php 去執行 test.php,而 test.php 要連去另一個網頁,可用curl或file_get_contents()

不可用header("Location:http://abc/another_test.php");
因為header是給瀏覽器看的,/usr/bin/local/php並不是用瀏覽器去執行。

EX:
用curl:
//初始化 curl_init
$ch = curl_init('http://abc/another_test.php');
curl_exec($ch); //執行curl
curl_close($ch); //關閉curl

參考: http://tw.php.net/manual/en/function.curl-init.php

2009年10月7日 星期三

讀取網頁,並把資料寫入檔案

$file = "http://www.books.com.tw/";
$html = "";

$fo = fopen($file, "r");
while (!feof($fo)) {
 $html .= fgets($fo);
}
fclose($fo);
echo $html;
$TxtFileName = "test.html";
$File = fopen($TxtFileName,"w");
if ($File){
  fwrite($File,$html);
 fclose($File);
}

讓程式在背景執行

讓程式在背景執行,若關掉網頁,程式還是會繼續執行 -- 主機為Unix或Linux
1.
nohup指背景執行,把putty關掉不中斷command
exec('/usr/bin/nohup /usr/local/bin/php /home/www/php/intranet/BT/bt_acceptno_to_ack.php > /dev/null &');

2.
exec ('/usr/local/bin/php /home/www/php/intranet/BT/bt_acceptno_to_ack.php > /dev/null &');

重點為:> /dev/null & =>若沒寫,算是前景執行,因此網頁關掉,程式就停掉了。