顯示具有 PHP 標籤的文章。 顯示所有文章
顯示具有 PHP 標籤的文章。 顯示所有文章

星期一, 3月 21, 2011

星期五, 11月 19, 2010

xampp oracle

就因為學校server竟然還是php4...........((汗
有需要再php4 php5做交叉測試

為了圖方便就安裝了xampp
/* 附註一下 原本以為所有的xampp版本都可以在php4 php5間切換
 * 後來發現最新版的好像不行 所以最後安裝了可以切換的最新版 xampp 1.6.8(php5.2.6&php4.4.9)
 * 參考: http://blog.lixiphp.com/tags/php4-4-9/   */

結果安裝完後........竟然怎麼樣都連不上oracle了阿阿阿阿

查了很多資料都沒辦法解決這個問題
直到剛剛才發現...其實各版本裡面都有一個php.ini,
在切換php版本的時候,xampp會將需要版本的php.ini複製出來
難怪我怎麼改php.ini都出不來...

最後的解決辦法是在xampp資料夾內搜尋裡面全部的php.ini,
並把裡面的 extension=php_oci8.dll 全 部 開 起 來
這樣就解決了


以下記錄改了那些檔案
xampp\apache\bin\php.ini
xampp\php\php5.ini
xampp\php\php4\php4.ini
xampp\php\php4\php.ini
xampp\php\php.ini
xampp\php\php-pear.ini

星期二, 10月 05, 2010

ADOdb

PHP ADODB 1.99版手冊中文翻譯
http://www.souzz.net/online/adobd.html
http://www.php5.idv.tw/documents/ADODB/

介紹
http://big5.webasp.net/article/12/11341.htm
http://achi.idv.tw/ADOdb%20Database%20Abstraction%20Library-2046.html

入門
http://www.csie.nctu.edu.tw/
~tsaiwn/course/introcs/history/linux/linux.tnc.edu.tw/techdoc/adodb/book1.html

中文tip
http://achi.idv.tw/ADOdb%20Library%20for%20PHP%20Manual-2051.html

PHP 對 Oracle 的存取

http://lordcongou.spaces.live.com/blog/cns!1D956D3BF5A646D!180.entry

php oracle 函式庫 : http://php.chinaunix.net/manual/zh/ref.oci8.php

不過後來我用ADOdb 存取 Oracle

Oracle 安裝

在 Windows 上啟用 PHP OCI8 擴展
Instant Client 二進制文件是 PHP 的 Windows 預構建二進制文件的補充。
  1. 下載 PHP 二進制壓縮文件(不是安裝程序版本)和 Apache。按照 PHP 手冊中的 Windows 系統上的安裝安裝它們。OTN 的開放源代碼開發人員中心包含有用背景資料的鏈接,如「在 Windows 2000/XP 上安裝 Oracle、PHP 和 Apache」,它介紹了如何安裝傳統、完整的 Oracle 10g 版本(Instant Client 不需要此版本)。
    繼續操作之前檢查 PHP 是否正常運行。此階段未啟用 Oracle 支持。
  2. 從 OTN 的 Instant Client 頁面下載用於 Windows 的 Instant Client Basic 程序包。此壓縮文件的大小大約為 30MB。
  3. 創建一個子目錄(例如,c:\instantclient10_1),然後從壓縮文件中複製以下庫:
    • oraociei10.dll
    • orannzsbb10.dll
    • oci.dll
    這三個文件的總大小大約為 80MB。
    要使用 PHP 老版本的「oracle」擴展(在 php.ini 中使用「extension=php_oracle.dll」啟用),則複製 ociw32.dll 而非 oci.dll。
  4. 編輯此環境,將 c:\instantclient10_1 添加到 PATH 中(位於其他 Oracle 目錄之前)。
    例如,在 Windows 2000 上,依次單擊「開始」->「設置」->「控制面板」->「系統」->「高級」->「環境變量」,編輯系統變量列表中的 PATH。
    如果使用了 tnsnames.ora 文件定義 Oracle Net 服務名稱,則將 tnsnames.ora 複製到 c:\instantclient10_1,並將用戶環境變量 TNS_ADMIN 設置為 c:\instantclient10_1。也可以在用戶環境變量 LOCAL 中定義默認的服務名稱。
    設置必要的 Oracle 全球化語言環境變量,如 NLS_LANG。如果沒有設置,則使用默認的本地環境。有關更多詳細信息,請參見Oracle PHP 應用程序全球化概述
    無需設置不必要的 Oracle 變量,如 ORACLE_HOME 和 ORACLE_SID。
  5. 編輯 php.ini,並不要將 OCI8 擴展設為註釋:
    extension=php_oci8.dll
    
    將 extension_dir 指令設置為完整的 PHP 擴展 DLL 路徑。在 PHP 4 中,DLL 位於 PHP 軟件的「extensions」子目錄中。在 PHP 5 中,它們位於「ext」中。
  6. 重新啟動 Apache。
要檢查是否配置了擴展,請在 web 服務器可以讀取的地方創建一個簡單的 PHP 腳本。




<?php 
phpinfo();
?>

使用「http://」URL 將此腳本加載到瀏覽器中。瀏覽器頁面應包含一個顯示「OCI8 Support enabled」的「oci8」部分




參考至官網: http://www.oracle.com/technology/global/cn/pub/notes/technote_php_instant.html
其他參考:
http://a159874a.pixnet.net/blog/post/12647770
http://blog.ixpub.net/16565802/viewspace-364481

星期六, 9月 18, 2010

FPDF

因為手上的專案有需要產生PDF讓使用者印下來
google了一下,選了這個似乎很普遍的pdf lib

因為產出的檔案有一定的格式,原本想說先做出pdf在用php讀進去增加文字
後來發現FPDF似乎沒辦法讀取PDF...

最後把PDF轉成PNG後,再加入文字解決


1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
require('chinese.php');
$pdf=new PDF_Chinese();
$pdf->AddPage();
$pdf->Image('template.png', 0, 0, 216, 303);
$pdf->AddBig5Font();
$pdf->SetFont('Big5','B',16);
$pdf->Text(70, 79, '呆子');
$pdf->Output();
?>



另外一個要注意的是
原本的PDF是沒辦法輸出中文的
需要再用一個chinese擴展, 變成 new PDF_Chinese();
而檔案編碼要改成ANSI

詳細請參考此篇文章 http://www.fpdf.org/phorum/read.php?f=1&i=5142&t=5142
FPDF中文參考手冊 http://twpug.net/docs/fpdf152/

http://twpug.net/docs/fpdf152/
http://blog.teatime.com.tw/1/post/268

warning: Cannot modify header information - headers already sent by ....

http://0e2.net/post/1224.html

星期五, 7月 09, 2010

var_export,var_dump(),print_r()
2009-03-18 10:01
var_export ( mixed expression [, bool return] )
此函數返回關於傳遞給該函數的變量的結構信息,它和var_dump()類似,
不同的是其返回的表示是合法的 PHP 代碼。
您可以通過將函數的第二個參數設置為 TRUE,從而返回變量的表示

$a = array (12, array ("a""b""c"));
var_export($a);

輸出:
array (
   0 => 1,
   1 => 2,
   2 => 
   array (
     0 => 'a',
     1 => 'b',
     2 => 'c',
   ),
)
var_dump ( mixed expression [, mixed expression [, ...]] )
此函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。
數組將遞歸展開值,通過縮進顯示其結構。


$a 
= array (12, array ("a""b""c"
));
var_dump ($a);

輸出:
array(3) {
   [0]=>
   int(1)
   [1]=>
   int(2)
   [2]=>
   array(3) {
     [0]=>
     string(1) "a"
     [1]=>
     string(1) "b"
     [2]=>
     string(1) "c"
   }
}


$b 3.1
;$c TRUE;
var_dump($b,$c);

輸出:
float(3.1)
bool(true)





print_r()類似var_dump



轉自: 瀟瀟雨

星期五, 3月 12, 2010

列出所在目錄底下檔案

列出所在目錄底下檔案的PHP
從php.net上拿下來的..

每次都要從寫一次太麻煩了XDD

<?php
if ($handle opendir('.')) {
    while (
false !== ($file readdir($handle))) {
        if (
$file != "." && $file != "..") {
            echo 
"$file\n";
        }
    }
    
closedir($handle);
}
?>

星期三, 1月 27, 2010

MySQL 過濾 escape string

string mysql_escape_string ( string $unescaped_string )

不過要注意:
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.


Mysql 中文亂碼

好不容易已經把flex跟PHP連起來了
可是進去的中文資料竟然都是亂碼..

星期一, 1月 25, 2010

php中的object與array

$arr = array();
$arr['element'] = value;

$obj->element = value;

PHP fetch Mysql 方法的比較

有點搞混了,所已查了一下資料

星期日, 1月 24, 2010

zendAMF傳送UTF-8中文資料

zendAMF本來就可以以UTF-8傳送中文
但是剛剛卻發現在test的時候傳不出資料

flex4連接zendPHP

最近這個案子,需要讓flash與php溝通

不過這件事情真是困擾了我好久
好不容易有了一點成果,記錄在這邊備忘
說不定也能幫助有需要的人

星期六, 1月 23, 2010

mysqli函式

mysqli 分為以下三個類別
   mysqli:負責控制與mysql的連線,執行SQL查詢,執行select後會得到查詢結果
          之mysql_result物件
   mysqli_result:內含select的查詢結果
   mysqli_stmt:用來定義執行參數化的SQL指令,需透過$mysqli->perpare建立mysql_stmt

星期五, 1月 22, 2010

php的優劣

逛網站看到幾篇很有意思的東西
是在討論PHP的優缺點