PIXNET Logo登入

Avril Note

跳到主文

電腦類筆記

部落格全站分類:不設分類

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 5月 27 週四 201015:45
  • 一系列server路徑

$_SERVER['PHP_SELF'] #當前正在執行腳本的文件名,與 document root相關。
$_SERVER['argv']
#傳遞給該腳本的參數。
$_SERVER['argc'] #包含傳遞給程序的命令行參數的個數(如果運行在命令行模式)。
$_SERVER['GATEWAY_INTERFACE']
#服務器使用的 CGI 規範的版本。例如,「CGI/1.1」。
$_SERVER['SERVER_NAME']
#當前運行腳本所在服務器主機的名稱。
$_SERVER['SERVER_SOFTWARE']
#服務器標識的字串,在響應請求時的頭部中給出。
$_SERVER['SERVER_PROTOCOL']
#請求頁面時通信協議的名稱和版本。例如,「HTTP/1.0」。
$_SERVER['REQUEST_METHOD']
#訪問頁面時的請求方法。例如:「GET」、「HEAD」,「POST」,「PUT」。
$_SERVER['QUERY_STRING']
#查詢(query)的字符串。
$_SERVER['DOCUMENT_ROOT']
#當前運行腳本所在的文檔根目錄。在服務器配置文件中定義。
$_SERVER['HTTP_ACCEPT'] #當前請求的 Accept:
頭部的內容。
$_SERVER['HTTP_ACCEPT_CHARSET'] #當前請求的 Accept-Charset:
頭部的內容。例如:「iso-8859-1,*,utf-8」。
$_SERVER['HTTP_ACCEPT_ENCODING']
#當前請求的 Accept-Encoding: 頭部的內容。例如:「gzip」。
$_SERVER['HTTP_ACCEPT_LANGUAGE']#
當前請求的 Accept-Language: 頭部的內容。例如:「en」。
$_SERVER['HTTP_CONNECTION']
#當前請求的 Connection: 頭部的內容。例如:「Keep-Alive」。
$_SERVER['HTTP_HOST']
#當前請求的 Host: 頭部的內容。
$_SERVER['HTTP_REFERER'] #鏈接到當前頁面的前一頁面的 URL 地址。
$_SERVER['HTTP_USER_AGENT']
#當前請求的 User_Agent: 頭部的內容。
$_SERVER['REMOTE_ADDR'] #正在瀏覽當前頁面用戶的 IP
地址。
$_SERVER['REMOTE_HOST'] #正在瀏覽當前頁面用戶的主機名。
$_SERVER['REMOTE_PORT']
#用戶連接到服務器時所使用的端口。
$_SERVER['SCRIPT_FILENAME'] #當前執行腳本的絕對路徑名。
$_SERVER['SERVER_ADMIN']
#管理員信息
$_SERVER['SERVER_PORT'] #服務器所使用的端口
$_SERVER['SERVER_SIGNATURE']
#包含服務器版本和虛擬主機名的字符串。
$_SERVER['PATH_TRANSLATED']
#當前腳本所在文件系統(不是文檔根目錄)的基本路徑。
$_SERVER['SCRIPT_NAME']
#包含當前腳本的路徑。這在頁面需要指向自己時非常有用。
$_SERVER['REQUEST_URI'] #訪問此頁面所需的
URI。例如,「/index.html」。
$_SERVER['PHP_AUTH_USER'] #當 PHP 運行在 Apache
模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的用戶名。
$_SERVER['PHP_AUTH_PW'] #當
PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的密碼。
$_SERVER['AUTH_TYPE']
#當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是認證的類型。
(繼續閱讀...)
文章標籤

avrilnote 發表在 痞客邦 留言(0) 人氣(309)

  • 個人分類:php-session
▲top
  • 5月 27 週四 201015:37
  • javacipt-另開視窗語法

JavaScript: 開啟視窗


約瑟 發表
(繼續閱讀...)
文章標籤

avrilnote 發表在 痞客邦 留言(0) 人氣(5,851)

  • 個人分類:javascript
▲top
  • 3月 10 週三 201011:35
  • php檔案上傳

http://blog.raienet.com/410
一、前置作業
PHP 檔案上傳運作原理
PHP 上傳檔案時會先將檔案移到暫存目錄,上傳成功後再將檔案送往上傳目錄並自動清除暫存檔
php.ini 檔案上傳相關設定
(繼續閱讀...)
文章標籤

avrilnote 發表在 痞客邦 留言(0) 人氣(1,476)

  • 個人分類:php-上傳檔案
▲top
  • 3月 10 週三 201011:33
  • 利用PHPExcel匯出xlsx及xls檔設定說明

1234
http://plus-now.com/?p=428
 
最近找到一個不錯的套件PHPExcel,這個套件解決我資料匯出的問題,以往我在匯出資料都是採用CSV檔,此種方法最簡單,只要用”逗號”隔開就可輕易的匯出檔案,但此種方法也有著很多的缺點,以下列舉幾個我比較常發生的缺點:
(繼續閱讀...)
文章標籤

avrilnote 發表在 痞客邦 留言(1) 人氣(5,203)

  • 個人分類:PHP
▲top
  • 3月 10 週三 201011:27
  • phpexcel-將excel新增入mysql




法一:


try { 





2
  $hostname = "localhost"; 


3
  $dbname = "test"; 


4
  $username = "root"; 


5
  $pw = "taiwan"; 


6
  $dbh = new PDO("mysql:host=$hostname;dbname=$dbname","$username","$pw"); 


7
  $dbh->query('SET NAMES "utf8"');  


8
} catch (PDOException $e) { 


9
  echo "Failed to get DB handle: " . $e->getMessage() . "\n"; 


10
  exit; 


11
}   


12
$res = $dbh->query("select * from tt order by t_id desc limit 1 ")->fetch();   


13
$res[t_id] = intval(doubleval(substr("$res[t_id]",1)))+1; 


14
 


15
//phpExcel開始 


16
ini_set('memory_limit','1024M');  


17
require_once('phpExcel/Classes/PHPExcel/IOFactory.php'); 


18
$Excel = PHPExcel_IOFactory::createReader('Excel5');  


19
$Excel = PHPExcel_IOFactory::load('test.xls');   


20
//$objWorksheet = $objPHPExcel->getActiveSheet();  


21
$sheet = $Excel->getSheet(0);  


22
$array_out[] = null;  


23
foreach ($sheet->getRowIterator() as $row_key => $row){  


24
  $cellIterator = $row->getCellIterator();  


25
  $cellIterator->setIterateOnlyExistingCells(false);   


26
  foreach ($cellIterator as $cell_key => $cell){   


27
    $array_out[$row_key][$cell_key] = $cell->getValue().''; 


28
  } 


29
}  


30
$length = count($array_out)-1; 


31
for($i=1;$i<=50;$i++){ 


32
 for($j=0;$j<=1;$j++){ 


33
  if($j==0){ $a = $array_out[$i][0]; } 


34
    if($j==1){ $b = $array_out[$i][1]; } 


35
 } 


36
  $ins = $dbh->query("insert into tt (t_id,t_name,t_phone) values ('t$res[t_id]','$a','$b')");      


37
} 

(繼續閱讀...)
文章標籤

avrilnote 發表在 痞客邦 留言(1) 人氣(3,309)

  • 個人分類:PHP
▲top
  • 3月 08 週一 201016:24
  • css基本設定

以下列出常用的樣式設定方式 (以 /* ... */ 標註者為說明文字):
1. 設定部落格背景 (圖片與顏色)
透過 body 內的 background 屬性設定,例如:
body { background:#000000; } /* 將背景設成黑色 */
body { background:url(圖片網址); } /* 將圖片網址設成背景 */
(繼續閱讀...)
文章標籤

avrilnote 發表在 痞客邦 留言(0) 人氣(1,119)

  • 個人分類:CSS
▲top
  • 3月 08 週一 201013:18
  • 使用Javascript控制IE列印格式

呼叫 DoPrint() 執行列印
透過 WScript.Shell 修改頁面設置的登錄值

function DoPrint()   
{  
    try      
    {  
        // 設定頁首頁尾及邊界  
        var ret = saveAndClearSetting();  
              
        // 列印  
        window.print();  
    }   
    catch (e)   
    {   
        alert("err="+e.description);   
    }  
}  
var hkey_path = "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"; 
var hkey_key_header = hkey_path + "header"; // 頁首 
var hkey_key_footer = hkey_path + "footer"; // 頁尾 
var hkey_key_margin_bottom = hkey_path + "margin_bottom";   // 邊界(下) 
var hkey_key_margin_left = hkey_path + "margin_left";       // 邊界(左) 
var hkey_key_margin_right = hkey_path + "margin_right";     // 邊界(右) 
var hkey_key_margin_top = hkey_path + "margin_top";         // 邊界(上) 
var topMargin = 5; //***注意: IE預設的單位為公厘(mm) 
var leftMargin = 5; 
var rightMargin = 5;  
var bottomMargin = 5;  
 
// 設定頁首頁尾及邊界 
function saveAndClearSetting()  
{ 
    try  
    { 
        var RegWsh = new ActiveXObject("WScript.Shell"); 
        RegWsh.RegWrite(hkey_key_header, "");   //頁首頁尾設為空白 
        RegWsh.RegWrite(hkey_key_footer, ""); 
        RegWsh.RegWrite(hkey_key_margin_bottom, parseFloat(bottomMargin)/10/2.54); //***注意: 登錄值的單位為公吋 
        RegWsh.RegWrite(hkey_key_margin_right, parseFloat(rightMargin)/10/2.54); 
        RegWsh.RegWrite(hkey_key_margin_left, parseFloat(leftMargin)/10/2.54); 
        RegWsh.RegWrite(hkey_key_margin_top, parseFloat(topMargin)/10/2.54); 
        return true; 
    }  
    catch (e)  
    {  
        if ( e.description.indexOf("伺服程式無法產生物件") != -1 )  
            alert("請調整IE瀏覽器的安全性\n網際網路選項\安全性\自訂層級\n「起始不標示為安全的ActiveX控制項」設定為啟用或提示。");  
        else  
            alert("ERR="+e.description);   
    }   
    return false;  
} 

(繼續閱讀...)
文章標籤

avrilnote 發表在 痞客邦 留言(0) 人氣(2,627)

  • 個人分類:JS
▲top
  • 2月 28 週日 201015:27
  • 全選核取方塊-js


「全選」的核取方塊


(繼續閱讀...)
文章標籤

avrilnote 發表在 痞客邦 留言(0) 人氣(290)

  • 個人分類:HTML
▲top
  • 2月 10 週三 201018:20
  • InnoDB 轉換步驟

InnoDB 轉換步驟:
01. mysqldump -u[user] -p[password] [databasename] > [dump_name] # 備份資料庫
02. /usr/local/mysql/bin/mysqladmin -u root -p shutdown # 停止資料庫
  或是將整個 mysql tar 起來也可以。(不過還是建議用 mysqldump 的方式備份)
03. 建議將 InnoDB 中文參考手冊看過一次,這樣遇上問題,不會浪費太多時間在找答案。
  InnoDB 中文參考手冊
   http://www.twbb.org/ebook/MYSQL_INNDB_BIG5/
  【例如:InnoDB 表不支持全文搜索(fulltext search),這樣我們就得
  注意等等記得要將備份出來的資料庫,刪掉有關 Fulltext 的索引】
  盡量看過,不然有先限制不知道的話,弄垮會浪費更多時間。
  InnoDB 的限制
   http://www.twbb.org/ebook/MYSQL_INNDB_BIG5/14.htm#InnoDB_restrictions
04. cd /usr/local/mysql/support-files/ 找尋適合主機記憶體的設定檔,必將設定檔拷貝到 /etc/my.cnf。
05. vi /etc/my.cnf ,將以下幾項註解取消掉。(以下為 my-large.cnf 的設定檔) 
  innodb_data_file_path = ibdata1:10M:autoextend
  innodb_buffer_pool_size = 256M
  innodb_additional_mem_pool_size = 20M
  innodb_log_file_size = 5M
  innodb_log_buffer_size = 8M
  innodb_flush_log_at_trx_commit = 1
  innodb_lock_wait_timeout = 50
  加上 default-table-type=innodb
  加上這段之後,以後新增的資料表型態都會是 InnoDB 囉,
  不然每次新增一次資料表,SQL 後面得加上 Type=innodb;
  避免麻煩,就先設定進去吧!但這個步驟不等於直接將MyISAM改
  變成 InnoDB 型態喔!
  當然啦!要用InnoDB當然得改成InnoDB的格式囉。^^"
06 .將剛剛備份出來的檔案,將Type=MyISAM改成Type=innodb。
07. /usr/local/mysql/bin/safe_mysqld --user=mysql & # 啟動資料庫
08. 建立一個新的資料庫(資料庫名稱跟備份出來的資料庫名稱一樣)。
09. mysql -u[user] -p[password] [database_name] < [dump_name] # 將改好的資料匯入資料庫中!
10. 做 Transaction 的測試,假如都沒問題,那就大公告成囉!
* 設定檔的選擇是參照記憶體大小來選擇。
 my-huge.cnf - 1G~2G 、my-large.cnf - 512M 、   
 my-medium.cnf - 32M - 64M 、my-small.cnf <= 64M 。
 InnoDB:my-innodb-heavy-4G.cnf
* 假如不會將備份出來的資料庫改型態,那麼您可以用下面這個指令,
 直接改變資料表的型態。
 ALTER TABLE [tablename] TYPE=InnoDB
 如有存放全文索引功能的話,轉換會失敗喔!這點請各位要注意一下!
* 假若~你有一堆資料表要改,可以用下面的指令:
 root# mysql_convert_table_format [opt] --type=InnoDB dbname [tablename]
 但千萬注意!不要改變 mysql 資料庫的資料型態喔!因為 mysql
 資料庫存放的是 MySQL 內部的管理資訊,所以必須保持 MyISAM 的格式。
* 加大 tablespace 空間:
 innodb_data_file_path = ibdata1:1G;ibdata2:1G:autoextend:max2G
 上面的意思是,tablespace 包含 ibdata1 & ibdata2 兩個檔案,
 若檔案不存在,則建立容量各為1G的檔案。一旦未來 InnoDB 需要,
 更多的空間,則 ibdata2 將每次自動增加 8MB,直到2G為止。
 * MySQL 3.23.n,innodb_data_home & innodb_data_file_path
  設定是必須要有的,MySQL 4.0.0 之後的版本則是非必須的。
In php/mysql   April 7, 2006 - 9:38 am
今早六點半就起床準備十一點的demo,結果意外的發現在開發機上運作正常的程式 deploy 到 notebook後居然連login都進不去。
經過一番測試才發現nb上裝的環境是 php 5.1.1 + mysql 5.1 而開發機是 php 5.0.4 + mysql 4.1,從 php 5.1開始php是預設抓美國時區,所以timezone必需要在php.ini裏正確設定。
語法如下:
php.ini 內
[date]
date.timezone = Asia/Taipei
另外有一個 php function (signature 如下):
bool date_default_timezone_set ( string timezone_identifier )
只要輸入 date_default_timezone_set( “Asia/Taipei” ) 即可。
這件事得到兩件教訓:
-開發過程中沒事千萬別換系統版本,即使版號只差 0.1 也不能動,只要有一個地方改變,整個 QA process就要重跑一遍
-RTFM
(繼續閱讀...)
文章標籤

avrilnote 發表在 痞客邦 留言(0) 人氣(218)

  • 個人分類:MYSQL
▲top
  • 2月 10 週三 201018:19
  • mysql中文亂碼的原因

mysql中文亂碼的原因
*mysql中文亂碼的原因
mysql 會出現中文亂碼的原因不外乎下列幾點:
→ mysql server本身設定問題,例如還停留在 latin1
→ mysql table 的語系設定問題(包含 character 與 collation)
→ 客戶端程式(例如 php) 的連線語系設定問題
mysql 4.1 及之後的版本在語系方面增加了許多功能,它可以設定語系的層次從最底層的 server, database 到單一
table, column, connection 都可以設定,而除了語系之外,還可以指定搭配不同的
collation(校對),所以組合百百種,只要一個錯了就難逃亂碼的命運。
進phpmyadmin找到可輸入 sql query的畫面,然後鍵入:
show variables like '%character%';
這句話會顯示目前資料庫使用的語系設定,一般國外的網站或剛裝好的 mysql 4.1預設都是 latin-1。
[新增資料庫]
如果你熟悉 phpmyadmin 的操作,在畫面上就可以選擇建立新 database 要用的語系,
charset 請選擇 UTF-8 Unicode (utf8)
collation 請選擇 utf8_general_ci (ci 代表 case insensitve 大小寫沒差)
[修改資料庫]
改 database語系,同樣在 phpmyadmin 的query畫面鍵入下面兩行:
alter database myblog
character set utf8;
前面曾經提過,mysql的語系設定是多層次的,前面我們把database與table的語系都設定正確,但程式與mysql連線時的語系則是由 connection 來決定,這部份就要使用程式碼
mysql_query("SET NAMES 'utf8'");
這句話會同時設定 client, results, connection三者使用的語系為 utf-8。
最後檢查是否全部改成 utf-8
show variables like '%character%';
此時你應該會看到大部份欄位都是utf-8了,除了 server 這項之外,如果是用別人的 hosting 主機,就沒法兒改這部份,但平常做案子時大部份都可以直接控管mysql,此時就可以用 my.ini 設定:
[mysqld]
default-character-set=utf8
告訴mysql server啟動時要用 utf-8即可。
*mysql中文亂碼必勝解決法
1、mysql 啟動時會讀取一個預設的 config 檔,一般名稱為 my.ini,而它會到下列兩位置去尋找這個檔案:
C:\windows\my.ini 也就是作業系統的安裝目錄,也有可能是 C:\winnt\my.ini
C:\:my.cnf 也就是 C disk 的根目錄
2、my.ini 裏的內容為:
[mysqld]
default-character-set=utf8
[client]
default-character-set=utf8
init_c
其中 mysqld 是指定 server 啟動時要用的語系,但如果這裏設定為 utf8 可能會讓許多英文軟體不開心,例如
osCommerce/mediaWiki/wordpress/drupal/gregarius,所以這裏建議設成
latin1。要使用utf8中文的人,只要記得建資料庫時將它設成utf8,讓中文程式正確的使用 utf8 與它溝通即可。
下面的 client 則是設定當 client 連線時要使用什麼語系,但可惜的是這個設定不是每個 client 都會鳥它,基本上只有
mysql 自已家的程式,例如 mysql.exe, mysqld.exe, mysqladmin.exe 或是 MySQL Control
Center 這種程式會去讀取這個設定檔然後改用 utf8 連線。
所以通常會用一個獨立的檔案來處理 mysql connection的設定,例如:
PHP:
[code]
<?
//database connection details.
$host = "localhost";
$link = mysql_connect($host, "xxx", "xxx");
mysql_query("SET NAMES 'utf8'");
mysql_select_db("your_table_name_here", $link);
?>
[/code]
請注意在 mysql_connect後第五行的地方有加上一個 "set names 'utf8' "的指令,告訴mysql 這個 connection 之後的連線內容都要使用utf8,經過這樣設定後,通常就可以解決大部份問題。
從這裏也可以推想得知,如果你有用某種 custom connection pooling 機制,就要記得在每次建立新的 connection 後立即設定為 utf8。
(繼續閱讀...)
文章標籤

avrilnote 發表在 痞客邦 留言(0) 人氣(11,139)

  • 個人分類:MYSQL
▲top
12...6»

個人資訊

avrilnote
暱稱:
avrilnote
分類:
不設分類
好友:
累積中
地區:

熱門文章

  • (29,704)細說HTML元素的ID和Name屬性的區別
  • (5,769)PHP中SESSION不能跨頁傳遞問題的解決辦法
  • (7,635)編碼問題----UTF-8轉BIG5
  • (3,687)抓取或備份整個網站-HTTrack
  • (439)smarty應用
  • (144)系統分析與設計說明文字
  • (5,203)利用PHPExcel匯出xlsx及xls檔設定說明

文章分類

  • javascript (1)
  • php-session (1)
  • php-上傳檔案 (1)
  • JQuery (0)
  • html編輯器 (1)
  • test (0)
  • php正規式 (0)
  • 圖型驗證碼 (0)
  • php函式-路徑類 (1)
  • 系統分析與設計 (1)
  • PHP-縮圖 (1)
  • 列印 (3)
  • 軟體介紹 (1)
  • PHP安全性 (1)
  • SMARTY (3)
  • PHP-亂碼問題 (1)
  • php函式 (11)
  • CSS (6)
  • MYSQL (5)
  • PHP設定 (2)
  • PHP (5)
  • JS (3)
  • W3C (1)
  • HTML (3)
  • AJAX (1)
  • 未分類文章 (1)

最新文章

  • 一系列server路徑
  • javacipt-另開視窗語法
  • php檔案上傳
  • 利用PHPExcel匯出xlsx及xls檔設定說明
  • phpexcel-將excel新增入mysql
  • css基本設定
  • 使用Javascript控制IE列印格式
  • 全選核取方塊-js
  • InnoDB 轉換步驟
  • mysql中文亂碼的原因

文章精選

文章搜尋

誰來我家

參觀人氣

  • 本日人氣:
  • 累積人氣: