Feeds:
文章
留言

Archive for the ‘PHP’ Category

利用 PHP 取得網路時間

<?php
/**
 * 取得網路恔正時間
 *
 **/
$server = 'time.nist.gov';
$port	= 13;

$fp = fsockopen($server, $port, $errno, $errstr, 30);
if (!$fp) {
   echo "$errstr ($errno)
n"; } else { while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); } ?>

Read Full Post »

今天我們家的技服再問什麼 phpmyadmin 執行時會出 Warning: Illegal offset type in grab_globals.lib.php on line 54 這個錯誤訊息,其實這個問題他們之前就處理過了,難道他們的資源都沒有"共享"嗎?同樣問題一直出現,真想建議他們部門為什麼不建立個像 MSDN 或 FAQ 的網站,唉~ 其實這個問題在網路上已經流傳很久了,google 隨便查一下就出現一大把了,簡單的說就是 Zend Optimizer 和 PHP 4.3.10 相衝,當然網路上也提到解法,就是到 Zend 網站下載 PHP 對應的 Optimizer 來安裝,我也不是討厭他們問問題,只是我個人討厭處理同樣的問題,唉~ 算了,可能是工作太累了… 有點煩悶
 
 

Read Full Post »

PHP 將指定路徑下的所有檔案印出來

為了寫一個編碼驗證工具,需要比對每一個檔案,所以寫了一個巡覽函數,如下:
 
 function file_process_func($filename){
  echo $filename . ‘<br>’;
 }
 
 function dump_folder($path, $process_func = “){
  $dir = opendir($path);
  while(($file = readdir($dir))){
   $filename = $path . ‘/’ . $file;
   if ( is_file( $filename ) ){
    if (function_exists($process_func)) {
     $process_func($filename);
    }
   }else if ( is_dir( $filename) && $file != ‘.’ && $file != ‘..’){
    dump_folder($filename, $process_func);
   }
  }
 }
 
dump_folder(‘.’, ‘file_process_func’);

Read Full Post »

PHP 檔案一次讀取一行

工作上因為需要一次讀取一行資料,可是從 Help 中找不到這個指令,於是自己寫了一個勘用的函數,如下:

 

  function readline($fp) {
   if (feof($fp)) {
    return false;
   }

   list($data) = fscanf($fp, "%sn");   
   return $data;
  }

 
簡單的說,就是利用格式化輸入 fscanf 來達成。

Read Full Post »

這個問題是昨天 ++ 給我的,可是以我的 database 經驗,並不知道有什麼SQL指令可以完成這個指令,但是如果透過PHP的結合,倒是可以完成這個功能,下面是主程式部分

require_once(‘dbLib.php’);
function getTables($keyValue) {
 $sql = "SHOW TABLE STATUS"; // Name
 $res = db_query($sql);
 while(list($tb_name) = db_fetch_row($res)){
  echo ‘<br>’ . $tb_name . ‘<br>’;
  getFiled($tb_name, $keyValue);  
 }
 echo "<br>Finish<br>";
}
function getFiled($tb_name, $keyValue) {
 $sql = "SHOW FIELDS FROM `{$tb_name}`"; // Field
 $res = db_query($sql);
 while(list($fd_name) = db_fetch_row($res)){
  echo $fd_name . ‘,’;
  fullSearch($tb_name, $fd_name, $keyValue);
 }
}
function fullSearch($tb_name, $fd_name, $keyValue) {
 $sql = "SELECT * FROM {$tb_name} WHERE {$fd_name} LIKE ‘{$keyValue}%’";
 $res = db_query($sql);
 while($dataSet = db_fetch_array($res)){
  //echo $fd_name . ‘<br>’;  
  print_r($dataSet);
  echo "<hr><br>";
 } 
}
 
getTables(‘cwchiu’); // 程式進入點


這個程式其實相當的簡單,其中的兩個關鍵在於我紅色標記的區域,一個是取得資料庫全部的 table ,另外一個是查詢 table 中有哪些 field,然後透過簡單的代數就可以解決這個問題了。

 

Read Full Post »

PHP 上的 Unit Test

1. 可以從這一篇有個概觀了解
 
2. PHPUnit 下載
 
註:PHPUnit 是針對 PHP 4 設計
註:PHPUnit2 是針對 PHP 5 設計
註:Google 上用 PHPUnit 搜尋,可以找到相當多的資料
 
3. SimpleTest

Read Full Post »

又是整理報告看到的問題,PHP 程式 include 一大堆其他程式是否會影響執行效能
關於這個問題我還沒有看到相關的討論、文章或數據,所以暫時將這個問題紀錄下來
不過我個人覺得多少都會有一點,至少檔案I/O就是最低的成本,因為 include 的內
文是把相關資料複製過去,所以我個人覺得這是基本的支出,不過,這個成本是否會
造成巨大的效能問題,需要再分析… 以後找到相關的資料再補上

Read Full Post »

« Newer Posts - Older Posts »