• 分類:PHP Code < | 1 | 2 | 3 | >
訂閱 IDIS資訊網部落格 - PHP Code 所有文章(rss2) 預覽模式: 普通 | 列表
PHP 較容易閱讀的結構化寫法

剛剛讀了一下 php 官方的文件 , 突然發現一種類似過去開發 vb 時用的寫法

仔細閱讀後 , 發現的確按照這樣的結構來寫會更容易辨識

就是 alternative syntax (官方網站翻譯為等效句法)

等效句法

PHP 對於以下的條件句提供了另外一種寫法,這些語句包括:if、 while、 for、 switch。 等效的寫法就是把指令組開頭的 '{' 括號變成冒號 ':': 同時結尾的 '}' 分別變成 endif; endwhile; endfor; endswitch;。

官方說明頁:http://php.off.co.il/manual/hk/control-structures.alternative-syntax.php

這用法可能要習慣一下才會上手 , 但是這樣就可以避免為了區分那一堆的 { }

來個例子吧

if ($a == 5):

查看更多

所在分類: PHP Code | 固定鏈結 | 最新迴響:0 | 瀏覽人次:437
PHP 載入智邦公益館募款資料RSS範例

在 php 中要讀取遠端 RSS 檔案 , 並且容易操作 , 當然是用 simplexml_load_file 函式

$rss =  simplexml_load_file('http://www.17885.com.tw/rss/charity.xml');

這樣就已經載入 RSS 資料 , 並轉成 Object 模式放入 $rss 變數中 , 再來列出前 7 篇文章

<table class="twoColHyb2">
<?php 
  if($rss){
     $i = 0;
     foreach($rss->channel->item as $item){ 
       if(++$i > 7)
         break;
?>
  <tr>
     <td class="leftIcon" valign="top">*</td>

查看更多

所在分類: PHP Code | 固定鏈結 | 最新迴響:0 | 瀏覽人次:426
PHP Proxy Cache 遠端頁面

本來在試 AJAX 讀 RSS 的部份 , 基於安全性問題 , AJAX 不能呼叫遠端頁面 , 所以就只好寫一個 PHP 來當 Proxy , 並在寫的過程中 , 突然發現了一個很優的 Cache 程式 , 所以整理下來看看 , 或許那天會用到 ...

Proxy.php

<?php
if (!isset($_GET['url'])) exit;
$url = $_GET['url'];
 
//要快取就將下面的註解取消
//require 'auto_cache.php';
 
$fp = file_get_contents($url);
echo $fp;
?>

auto_cache.php

<?php
/**
* auto_cache.php 實現智能的自動緩存。
* 使用辦法極其簡單:
* 在需要實現緩存功能的頁面 require 'auto_cache.php'; 就ok了
* @author rains31@gmail.com
*/

查看更多

所在分類: PHP Code | 固定鏈結 | 最新迴響:0 | 瀏覽人次:293
ImageMagick + PHP 縮圖大小控制

在日前一篇 ImageMagick + PHP來幫上傳的圖片縮圖 中提到使用 ImageMagick 縮圖的方便性

後來發現有個參數上的問題 , 就是假設要上傳的圖片大小 , 比預期要縮圖的大小還小時 , 似乎就要指定特殊的參數才行了 , 去了官方網頁查了一下 , 就發現 -resize 參數還有幾種用法 , 其中 -resize 搭配 > 符號操作就是我想要的 , 就高高興興的加上去跑看看 ...

結果怎麼試都不行 , 沒辦法 , 再讀一下官方說明 , 其中有一段提到 :

查看更多

所在分類: PHP Code | 固定鏈結 | 最新迴響:0 | 瀏覽人次:478
取出特定日期字串 (Y/m/d H:i:s) 與目前日期時間差

取出特定日期字串 (資料庫取出的) 與目前日期時間差

  //設定時間
  $myTimeStr = '2008/12/31 23:59:59';
 
  //轉換時間
  $down_time_object 	= getdate(strtotime($myTimeStr));
  $today_time_object 	= getdate();  
  $diff_time_stamp = $down_time_object[0] - $today_time_object[0];
 
  //輸出的時間差 Array
  $diff_time['mday']    = round($diff_time_stamp/60/60/24) - 1 ; 
  $diff_time['hours'] 	= round($diff_time_stamp/60/60%24);
  $diff_time['minutes'] = round($diff_time_stamp/60%60);


查看更多

所在分類: PHP Code | 固定鏈結 | 最新迴響:0 | 瀏覽人次:573
PHP 驗證資料函數整理

驗證資料是否為 數字型態

	//驗證資料是否為 數字型態
	function Is_Match_Integer($input){
		return preg_match('@^[-]?[0-9]+$@',$input) === 1;
	}

驗證資料是否為 電子郵件

	//驗證資料是否為 電子郵件
	function Is_Match_Email($input){
		return filter_var($input, FILTER_VALIDATE_EMAIL);
	}

驗證字串長度是否符合 $min - $max

	//驗證字串長度是否符合 $min - $max
	function Is_Match_StrLen($input,$min,$max){
		$strlen = strlen($input);
		return ($strlen >= $min && $strlen <= $max);
	}

 

 

 

 

 

查看更多

所在分類: PHP Code | 固定鏈結 | 最新迴響:0 | 瀏覽人次:334
PHP 自訂拋出例外的方法

PHP 自訂拋出例外的方法

throw new Exception("錯誤訊息");

查看更多

所在分類: PHP Code | 固定鏈結 | 最新迴響:0 | 瀏覽人次:242
PHP 抓取系統時間時發生時差問題

當使用 PHP 讀時間時 , 可能會有時差的問題 , 解決方法就是設定本地時區為亞洲臺灣 ,

date_default_timezone_set("Asia/Taipei");

這樣抓時間就不會出錯了

    $today = getdate();
    $date1 = date("Y/m/d H:i:s",$today[0]-1*24*60*60);    //差一天

 

查看更多

所在分類: PHP Code | 固定鏈結 | 最新迴響:0 | 瀏覽人次:521
使用 SMTP 協定發送 Email 的類

smtp.class.php 內容

class smtp {
     /* Public Variables */
     var $smtp_port;
     var $time_out;
     var $host_name;
     var $log_file;
     var $relay_host;
     var $debug;
     var $auth;
     var $user;
     var $pass;
     /* Private Variables */
     var $sock;
     /* Constractor */
     function smtp($relay_host = "", $smtp_port = 25, $auth = false, $user, $pass)
     {
             $this->debug = false;
             $this->smtp_port = $smtp_port;

查看更多

所在分類: PHP Code | 固定鏈結 | 最新迴響:0 | 瀏覽人次:388
使用PHP的五個小技巧

原文網址 : http://www.52web.com/52article/?view-26.html

1. str_replace

str_replace是非常常常常常用的php函數,用于字符串替換,經常看到某些php新人為了替換一批字符串,寫了好多行str_replace,實在是慘不忍睹。

比如這個例子:

$str = '某人的棲息地 --- www.ooso.net';  
 
$str = str_replace('某人', '壞人', $str);  
$str = str_replace('的', 'di', $str);  
$str = str_replace('棲息地', '豬窩窩', $str);  
$str = str_replace('www.ooso.net', 'ooso.net', $str);

以上,替換了4次字符串,實際只要換個寫法,一行就搞定了:

$str = '某人的棲息地 --- www.ooso.net';  
$str = str_replace(

查看更多

所在分類: PHP Code | 固定鏈結 | 最新迴響:0 | 瀏覽人次:334