顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


主題 - 湯包

頁: [1] 2 3
1
PHP程式設計討論區 / mail 亂碼的問題...
« 於: 2013-01-27 04:13 »
小弟初學 PHP 遇到疑難,還請諸位學長指點一二 :-[

小弟在 linux 系統下寫了一個 php 程式,就只是簡單的 form to mail ,同樣的內容,寄到不同的信箱
包括:
   GMail
   Hotmail
   易達網
   Synology NAS 的 Mail Server
   Exchange 2003
   
   寄到 GMail ,使用 GMail Web Mail 去看信件內容,全部資訊的正常
                            使用 Android 手機內建的 GMail Apps 去看,也都正常
   寄到 Hotmail,使用 Hotmail Web Mail 去看信也正常
                               使用 Windows Live Mail 去看信也正常
                               使用 Android Hotmail Apps 去看信也正常
   寄到易達網,使用易達網Web Mail 去看信也正常
                           使用Android 手機內建的"電子郵件" Apps 去看信也正常
   寄到Synology NAS,使用Roundcube Web Mail 去看信也正常
                                          使用Android 手機內建的"電子郵件" Apps 去看信也正常
   寄到 Exchange 2003,使用 MS Outlook 去看信也正常
                                             使用OWA 去看信也正常
                                             使用Android 手機內建的"電子郵件" Apps 去看信卻都是亂碼!

        小弟無法理解的是,同樣一封信,寄到易達網、寄到 Synology NAS ,用 Android 手機的同樣一個 Apps "電子郵件" 收信,都是正常
        寄到 Exchange 2003 ,用 Android 手機的同樣一個 Apps "電子郵件" 收信,卻是亂碼,

        而且這封信是保存在 Exchange Server 上的(不是收到個人資料夾)
        用 MS Outlook 2003、OWA 去看信,內容都是正常的...

        請教一下,要怎麼樣才能讓寄到 Exchange 2003 的信,用 Android 電子郵件 Apps 收件是正常的?
        這個問題也讓我很困擾,因為我們老董,經常用 HTC 手機,收到朋友從 HiNet WebMail 寄到公司的 Exhcnage 2003 的信,都是亂碼....


代碼: [選擇]
<?php

define
'LNCR'linebreak() );

function 
linebreak(){
    
$os strtolower(PHP_OS);
    switch( 
true ){
        case (
"\\" == DIRECTORY_SEPARATOR) : // windows
            
return "\x0d\x0a" 
        case ( 
strpos($os'darwin') !== false ) : // Mac
            
return "\x0d" ;
        default : 
            return 
"\x0a" // *nix
    
};
}

$mail_from 'nobody@company.com.tw';
$email_subject '=?UTF-8?B?' base64_encode('線上報名') . '?=';
$email_to '=?UTF-8?B?' base64_encode('大哥') . '?=<bigbrother@company.com.tw>';
$email_cc '=?UTF-8?B?' base64_encode('小妹') . '?=<sister@gmail.com>,' LNCR;
$email_cc  .= ' =?UTF-8?B?' base64_encode('老三') . '?=<third@yahoo.com.tw>,' .  LNCR;
$email_cc  .= ' =?UTF-8?B?' base64_encode('老三') . '?=<third@synologynas.com.tw>,' LNCR;
$email_cc  .= ' =?UTF-8?B?' base64_encode('老四') . '?=<jumior@synologynas.com.tw>';
$email_bcc '=?UTF-8?B?' base64_encode('湯包') . '?=<tombo@hotmail.com>,' .  LNCR;
$email_bcc .= ' =?UTF-8?B?' base64_encode('湯包') . '?=<tombo@gmail.com>,' LNCR;
$email_bcc .= ' =?UTF-8?B?' base64_encode('湯包') . '?=<tombo@url.com.tw>,' LNCR;
$email_bcc .= ' =?UTF-8?B?' base64_encode('湯包') . '?=<tombo@exchange.com.tw>,' LNCR;
$email_bcc .= ' =?UTF-8?B?' base64_encode('湯包') . '?=<tombo@synologynas.com.tw>';
     
function 
died($error) {
        
// your error code can go here
        
echo "很抱歉您填寫的資料錯誤";
        echo 
"錯誤訊息如下.<br /><br />";
        echo 
$error."<br /><br />";
        echo 
"請<a href='mailform.php'>回到上一頁</a>重新輸入<br /><br />";
        die();
    }
     
    
// validation expected data exists
    
if(!isset($_POST['name']) ||
        !isset(
$_POST['gender']) ||
        !isset(
$_POST['ageRad']) ||
        !isset(
$_POST['mobile']) ||
!isset($_POST['agreeRad']) ||
        
died('請您確實填寫所有欄位,謝謝!');       
    }
    
    
$name $_POST['name']; // required
    
$gender $_POST['gender']; // required
    
$ageRad $_POST['ageRad']; // not required
    
$email_from $_POST['email']; // required
    
$mobile $_POST['mobile']; // not required
    
$agreeRad $_POST['agreeRad']; // required
     
    
$error_message '';
    
$email_exp '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= '電子郵件地址格式錯誤,請再確認一次.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}

function 
clean_string($string) {
      
$bad = array("content-type","bcc:","to:","cc:","href""select""insert");
      return 
str_replace($bad,"",$string);
    }
    
    
$boundary uniqid('np');
    
    
// create email headers
$headers  'MIME-Version: 1.0' LNCR;

// $headers .= 'Content-type: text/html; charset=UTF-8' . LNCR;
$headers .= "Content-Type: multipart/alternative;boundary=" $boundary LNCR

$headers .= 'From: ' $mail_from LNCR;
$headers .= 'To: ' $email_to LNCR;
$headers .= 'Cc: ' $email_cc LNCR;
$headers .= 'Bcc: ' $email_bcc LNCR;
$headers .= 'Reply-To: ' $mail_from LNCR;

// create email body
// 
$email_message 'This is a MIME encoded message.';
$email_message .= LNCR LNCR '--' $boundary LNCR;
$email_message .= 'Content-type: text/plain;charset=utf-8' LNCR LNCR;
 
$email_message .= 'This is the text/plain version.';
 
$email_message .= '線上報名資訊:' LNCR LNCR;
 
$email_message .= '姓名:' clean_string($name) . LNCR;
 
$email_message .= '性別:' clean_string($gender) . LNCR;
$email_message .= '年齡:' clean_string($ageRad) . LNCR;
$email_message .= '電子信箱:' clean_string($email_from) . LNCR;
$email_message .= '手機:' clean_string($mobile) . LNCR;
$email_message .= '是否同意:' clean_string($agreeRad) . LNCR;
 
$email_message .= LNCR LNCR '--' $boundary LNCR;
 
$email_message .= 'Content-type: text/html;charset=utf-8' LNCR LNCR;
 
$email_message .= '<b>線上報名資訊</b>:<br /><br />';
$email_message .= '姓名:<font color="blue">' clean_string($name) . '</font><br />';
$email_message .= '性別:<font color="blue">' clean_string($gender) . '</font><br />';
$email_message .= '年齡:<font color="blue">' clean_string($ageRad) . '</font><br />';
$email_message .= '電子信箱:<font color="blue">' clean_string($email_from) . '</font><br />';
$email_message .= '手機:<font color="blue">' clean_string($mobile) . '</font><br />';
$email_message .= '是否同意:<font color="blue">' clean_string($agreeRad) . '</font><br />';
$email_message .= LNCR LNCR '--' $boundary '--';

@mail($email_to$email_subject$email_message$headers);  
?>

 
<!-- include your own success html here -->
<link href="css/t_layout.css" rel="stylesheet" type="text/css" />
<link href="css/t_menu.css" rel="stylesheet" type="text/css" />
<link href="css/slideshow.css" rel="stylesheet" type="text/css" />
<script type=text/javascript src="js/jquery.1.6.4.js"></script>
<script type=text/javascript src="js/jquery.slideshow.lite.js"></script>
<script type=text/javascript src="js/jquery-latest.min.js"></script>
<script src="kent.js"></script>
<script type="text/javascript">
$(function(){
// 幫 #menu li 加上 hover 事件
$('#menu>li').hover(function(){
// 先找到 li 中的子選單
var _this = $(this),
_subnav = _this.children('ul');

// 變更目前母選項的背景顏色
// 同時顯示子選單(如果有的話)
_this.css('backgroundColor', '#0084c4').siblings().css('backgroundColor', '');
_subnav.css('display', 'block');
} , function(){
// 同時隱藏子選單(如果有的話)
// 也可以把整句拆成上面的寫法
$(this).children('ul').css('display', 'none');
});

// 取消超連結的虛線框
$('a').focus(function(){
this.blur();
});
});
</script>
<style type="text/css">
<!--
.style1 {color: #990000}
-->
</style>

<div id="wrapper" align="center">
<div id="head">
<?php include("_header.php");?>
</div>

<div id="main_menu">
<div id="main_nav">
<?php include("_menu.php");?>
<div class="a"></div>
</div>
</div>

<div id="content">
<div align="center">
<div id="text">
<div id="text_pic1"><img src="images/tyy.jpg" /></div>
<div id="text_success" align="left">
<!-- 成功傳輸表單的訊息 -->

成功 !!<br /><br />
您已完成線上報名。
</div>
<!-- 頁腳 -->

</div>
</div>
</div>

<div id="footer" align="left">
<div class="footer_block">
<?php include("_foot.php");?>
<div class="footer_logo"><a href="http://www.company.com.tw/" target="_blank"><img src="images/logo.png" border="0" /></a></div>
<div class="footer_fb"><a href="http://www.facebook.com" target="_blank"><img src="images/fb.png" border="0" /></a></div>
<div class="footer_info2">版權所有 禁止轉載 © 2012, Company All Rights Reserved.</div>
</div>
</div>
</div>


2
工作機會 / 某房仲公司徵求程式設計師
« 於: 2012-11-08 21:44 »
小弟目前兼差的客戶,需要
PHP資深程式設計師一名
主要工作內容:
1.開發/維護現有網站前後台
2.開發社群網站(Facebook、Twitter....)、Blog、(Google、Yahoo、Bing) API 程式,以協助進行網路行銷

主要技能:
Linux/Apache/MySQL/PHP/JavaScript/HTML/CSS/AJAX
Google/Blog/社群網站 API 開發經驗
防護SQL Injection Attack/Cross Site Script(XSS)經驗
熟jQuery/Ext JS加分
熟SASS/SCSS加分
具備MVC架構模式開發經驗加分
熟Zend/PRADO等PHP Framework加分
熟 Template 加分

無管理責任
無業績壓力
上班時間 09:00~18:30 (午休 12:30~14:00)
周休二日
工作地點文山區

該職缺有 50k/月 以上

請自備作品及履歷,能線上 Demo 更好

意者請電 0922-886-991 或 mail 到 tomliu6116@hotmail.com

3
中華國際黃頁公司將招募派駐中華電信門市銷售人員,預定錄取 179 名,歡迎各位同仁推薦親朋好友報名。
一、報名日期:自 101 年 7 月 30 日起至 101 年 8 月 13 日止
二、報名方式:一律採網路報名
三、相關職缺、擔任工作、學歷及經歷條件等請詳閱附檔遴選簡章

https://rmis.cht.com.tw/portal/chtms/pre_login.jsp

薪水是 22000

重點條件:
1. 專科以上畢業
2. 無經驗可,具通訊門市 /3C 賣場銷售經驗者佳
3. 熟悉電腦操作
4. 具服務熱忱、親和力及耐心
5. 主動積極,擅長行銷及服務
6. 國、台語口說流利,會英文者尤佳

4
工作機會 / 蘭堂國際徵百貨專櫃人員
« 於: 2012-03-22 15:34 »
工作內容:
  • 顧客服務
    商品銷售
    包裝商品,櫃台、店內物品陳列擺放
    清點商品,進、退貨及管理庫存
    維護店舖及商品清潔
    當日銷售業績結算
工作待遇:面議
工作性質:全職
身份類別:一般求職者、應屆畢業生
是否出差:不需出差/外派
管理責任:不需負擔管理責任
休假制度:排班制
上班地點:台北市信義區信義區 (我猜是誠品信義旗艦店吧,它們在那邊有專櫃)

工作經驗:半年以上學歷要求:高中職、專科、大學
語文條件:英文 聽:略懂 / 說:略懂 / 讀:略懂 / 寫:略懂
方言條件:台語 : 略懂
擅長工具:Word、Excel工作技能:略
其他條件:
1.學習力強 活潑 有責任心 喜歡跟人互動 親切不怕生
2.工作主動積極,良好服務熱誠及態度
3.配合度佳(工作需輪班與加班)
4.有百貨專櫃銷售經驗佳

職務聯絡人:林先生
面試地點: 新北市中和區板南路663號2樓(元隆雙星大樓)
http://www.518.com.tw/job-detail-583356.html

5
以下公益活動只是幫忙宣傳~~

http://tomliu888.blogspot.com/2011/03/blog-post.html

7
雜七雜八 / 請教如何取消 catch 功能
« 於: 2010-05-18 17:56 »
我的手機是跟台哥大綁約送的,它都會在手機待機畫面設定快捷鍵自動上網,
很容易不小心就按到,而且裡面都是我不會想去用的功能。造成電話費爆增!

我平常上網都是用筆電接USB,把它當成 3G Modem 來撥接上網。

我爬文了一下,都是建議用刷機的方式來去掉那個討厭的 catch。
但是刷機軟體都是 Dead Link。

今天我剛好去台哥大拿我老闆送修的 HTC 手機,
老闆把他的 SIM 卡拿走,所以我用我的 SIM 卡去測試。

試完之後,又把 SIM 卡裝回我的手機,沒多久我的手機就接到台哥大傳送設定 catch 服務的簡訊。

我的問題就是,請問有哪位高人知道該怎麼傳送這樣子的簡訊?
我的想法是傳送一個假的catch 設定簡訊,讓系統無法辨認假的 catch 設定 (APN),
這樣應該就可以讓 catch 失效!

安全性應該會比刷機高很多!

8
工作機會 / 徵求網站程式設計師
« 於: 2010-04-15 12:04 »
不是我公司,我只是幫朋友問的

我朋友的公司,要找一名網站程式設計師
條件是對MS SQL, Sybase, IIS, ASP .Net 夠熟,能獨立作業開發網站程式。

公司地點在敦化北跟民權東交叉口附近。

有意者請傳私訊給我!

9
我老婆最近去敗了一台 21.5" iMac

想問問看各位是否有在 Mac OS X 上裝過 Paralles , VMWare Fusion, VirtualBox 的經驗,到底哪一套會比較好?

11
最近在處理公司一些拼裝機的問題,先說說第一個案例。

CPU:Intel Core 2 Quad Q8200 四核心 2.33GHz
RAM:Transcend 2GB DDR2 800 DIMM * 2
Mainboard:ASUS P5QL-E
VGA:Gigabyte GV-N98XPZL-1GH (nVidia GeForce 9800 GTX 1GB RAM)
HD:WD 160GB SATA2
Power:Magic Power 500W

狀況:
在 Windows XP Professional X86、Windows Vista Business X86、Windows 7 Enterprise X64、Windows 7 Ultimate X64底下,開完機,有時畫面就會破碎,或是出現雜點,接著就是藍屏當機。

如果跑影像處理相關程式,當機的速度更快,每跑必當,包括 AutoCAD、Catia、Rhinoceros、PhotoShop、Illustrator、Corel Draw、Media Player Classic...

如果只是開完機,不跑影像相關軟體,可以撐 3mins - 8hrs。

以上零件都還在保固期內(購買時間未滿一年)

因為藍屏當機的訊息,與 nVidia Driver 有關,所以我試了技嘉官網以及 nVidia 官網提供的 Driver,都無法解決。
接著去華碩網站下載 BIOS Firmware Update,也是無解。

後來我直接跟技嘉反應,技嘉提供其他版本的 Driver 讓我去下載來安裝,結果還是一樣。
接著又請我把顯卡插在別的主機板上測試。

測試主機
Mainboard:GA-M61VME-S2
RAM:Kingbox DDR2 667 1GB * 1
Power:蛇吞象 400W

跑了兩天都沒事。

技嘉給我的答案是,華碩主機板相容性太差。

接著我又去跟華碩反應以上狀況,華碩說,綜合以上資訊,應該是我的電源供應器不足瓦,無法供應足夠的電力給顯卡。
還說他們有客戶是這樣的狀況,改用足瓦的電源供應器之後,問題就解決了。

為了驗證這樣的說法,我把蛇吞象 400W單獨接顯卡,Magic Power 500W接主機板、HD、DVD、Fan
去跑 SP2006 ,不到 5 分鐘就藍屏當機,當機訊息一模一樣。

華碩客服給的答案是,就算送去皇家俱樂部,他們也不會測技嘉顯卡的部份,只會用華碩自家的顯卡來測試,所以應該也測不出我遇到的狀況。

當初這台機器,是某個個人工作室組裝的,現在也找不到人可以負責了。

簡單的說,沒有一家廠商會願意說自家產品有相容性問題,也沒有一家廠商會願意為拼裝機負責。
所以,請各位 MIS ,不要再買拼裝機了,也不要再請廠商拼裝電腦了...

12
今天安裝了 Windows FLP ,結果在使用 Microsoft Update時,它會一直顯示要我安裝 Windows XP Professional Service Pack 3
可是每次安裝都失敗。

後來去看了一下三秒的站,才知道它的 Service Pack 應該要裝 Embedded 的版本。
Microsoft Update 看來還不夠 Smart

13
小弟寫一個批次檔,想把 Exchange SPAM Archive Mail 檔名去掉年份
程式如下,但是實際執行起來,一直發生錯誤... :(

代碼: [選擇]
for /F "tokens=*" %I in ( 'dir *.eml /s /b' ) do (
set FullPath=%I
set OldName=%~nxI
set NewName=%OldName:~4%
ren "%FullPath%" "%NewName%"
)

dir /s /b 會產生 Full Path 的檔案清單
所以只要擷取檔名,使用 %~nx 參數 ( n→ File Name , x→Ext. File Name )
擷取原始檔名第五碼開始用 %OldName:~4%

如果是要抓開始到第 M 碼,就用 %OldName:~,M%
如果是要抓 N 碼到 M 碼就用 %OldName:~N,M%

錯誤發生在第四行
程式顯示是 set NewName=%OldName:~4%
也就是說 %OldName:~4% 的值並沒有設定給 NewName

然後第五行的 rename 指令會產生 The system cannot find the file specified. 錯誤訊息。

但是程式執行完後,執行 echo %FullPath% 或是 echo %FileName%
顯示內容都是對的....

不知道程式哪裡出錯了....唉

底下是 Windows XP Command Line Reference
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds.mspx?mfr=true

14
以往在規劃監控系統發送通知簡訊,
如果使用網路上的簡訊功能,當發生上網線路中斷時,就無法即時發送簡訊告知狀況
但是如果購買一台 GSM Modem 也不便宜。

所以我改用網路上購買一個藍芽接收器,加上手機門號續約後失寵的藍芽手機,
搭配Microsoft SMS Sender來解決問題。

首先安裝藍芽接收器及 Driver
接著安裝Microsoft SMS Sender,
最後將在電腦上搜尋藍芽撥接網路設備,去連接藍芽手機。

smssender.exe 可以透過命令行引數去發送簡訊。

引用
SMS Sender as a command line tool

From a Windows command prompt, go to the SMS Sender installation folder (typically C:\Program Files\Microsoft SMS Sender) and run smssender.exe with the appropriate options. The application will use the last device you have previously sent messages with. This allows automating certain sending phases.

Usage:

smssender.exe [[/i] /p:<phone> /m:"<message>" [/u] [/l]] [/?]

/i                     Phone number is expressed in the international format.

/p:<phone>             Phone number (numerical values only).

/m:"<message>"         Typed message within quotation marks.

/u                     Message encoded as UCS-2. By default GSM alphabet is used.

/l                     Log the sent message.

/?                     Displays this help.

這樣只要監控系統可以 Call Program , 就可以透過藍芽來發送簡訊了,
經過測試, 中文簡訊也可以正常發送。

我一共用三支手機來測試:
1. Nokia 6130
2. Samsung SGH-E568
3. LG KU380
其中1、2在發送簡訊時都會在手機上跳出要求確認允許電腦連接藍芽的訊息;但是 3 就不會。

如果遇到這種狀況,可以加買一條手機專用的 USB 線,連接手機跟電腦,也可以透過 USB Modem 發送簡訊。

藍芽接收器一個200元有找,加上一條專用傳輸線,不超過千元,舊手機就不算錢。
整個加起來,不超過2000元,如果是購買專用的GSM Modem,幾乎都是萬元起跳,這樣子做便宜多了。

15
請問各位學長,
     我的同事跟我反應 09/22 請假沒來上班,今天 09/23 來公司開電腦使用 Microsoft Outlook 2003 收信,卻只有收到 09/23 的信!

     但是我在 Exchange 2003 郵件追蹤工具可以查到 09/22 一堆客戶及同仁寄信給她。
     而且我之前有設定該帳號要將郵件同時傳遞到轉寄地址和信箱,我指定的轉寄的archive信箱也有收到,就是她的信箱沒收到....
     這會是什麼樣的狀況呢?

16
最近遇到客戶反應許多大陸外點的維護問題,都是因為當地使用浮動 IP 的 ADSL,
而且他們買的 IP 分享器當真是陽春到極點,連 DDNS 的功能都不支援...

所以就自己寫了一支 Windows Script Host程式來檢測回報 IP

代碼: [選擇]
On Error Resume Next

strDynamicIP = "xxx.xxx.xxx.xxx"

' 這個網址可以替換成你自己喜好的查詢 IP 地址的網站
strURL="http://briian.com/files/act/myip-widget.php"

Set objHTTP = CreateObject("MSXML2.XMLHTTP")

Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.Global = True   
objRegEx.Pattern = "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"

Set objEmail = CreateObject("CDO.Message")

while true
objHTTP.Open "GET", strURL, FALSE
objHTTP.Send

Set colMatches = objRegEx.Execute(objHTTP.ResponseText)

For Each strMatch in colMatches
strPublicIP = strMatch.Value
Next

' 網頁內容沒有 IP Address,考慮換個網站吧
if colMatches.Count < 1 then
WScript.Echo "IP Address Not Found !"
end if

' 如果抓出來的網頁只有一個 IP Address,而且跟之前抓的不一樣,表示 IP 有變動,要通知囉
if colMatches.Count = 1 and strDynamicIP <> strPublicIP then
objEmail.From = "寄信人信箱地址"
objEmail.To = "收信人信箱地址"
objEmail.Subject = "Your Public IP : " & strPublicIP
objEmail.Textbody = strPublicIP
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "SMTP Server的FQDN 或 IP"
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
                          ' 如果SMTP需要密碼驗證,才需要以下三行程式
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "信箱帳號"
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "信箱密碼"
objEmail.Configuration.Fields.Update
objEmail.Send
strDynamicIP = strPublicIP
end if

' 如果抓出來的網頁內容,超過一個 IP Address,就要改程式去分析網頁囉
if colMatches.Count > 1 then
WScript.Echo "Too Many IPs !"
end if

' 每隔 5 分鐘抓一次網頁,Check Public IP
wscript.sleep 300000
wend

17
小弟在網路上搜尋到幾種下載已知類型檔案的ASP程式,但是實際使用卻是一直發生Internal Server Error
是否可以請各位先進指點一下,到底是哪裡有錯....:(

PS.因為客戶不想用 PHP,所以只好找大家幫幫忙...

代碼: (d1.asp) [選擇]
<% Language=VBScript
Response.Buffer = True
Dim strFilePath, strFileSize, strFileName
Const adTypeBinary = 1

' 從引數抓取File、Size、Name這三個參數
strFilePath = Request.QueryString("File")
strFileSize = Request.QueryString("Size")
' strFileName = Request.QueryString("Name")
strFileName = strFilePath

Response.Clear

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile server.mappath(strFilePath)

' 依副檔名來設定 Content Type
strFileType = lcase(Right(strFileName, 4)) ' 抓取檔名從右邊數來四碼,也就是副檔名的部份
Select Case strFileType
Case ".asf"
ContentType = "video/x-ms-asf"
Case ".avi"
ContentType = "video/avi"
Case ".doc"
ContentType = "application/msword"
Case ".zip"
ContentType = "application/zip"
Case ".xls"
ContentType = "application/vnd.ms-excel"
Case ".gif"
ContentType = "image/gif"
Case ".jpg", "jpeg"
ContentType = "image/jpeg"
Case ".wav"
ContentType = "audio/wav"
Case ".mp3"
ContentType = "audio/mpeg3"
Case ".mpg", "mpeg"
ContentType = "video/mpeg"
Case ".rtf"
ContentType = "application/rtf"
Case ".htm", "html"
ContentType = "text/html"
Case ".asp"
ContentType = "text/asp"
Case Else
ContentType = "application/octet-stream"
End Select

' 輸出 HTTP Header
Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName
Response.AddHeader "Content-Length", strFileSize
Response.Charset = "UTF-8"
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
Response.Flush
objStream.Close
Set objStream = Nothing
%>

代碼: (test.htm) [選擇]
<html>
<head>
<title></title>
</head>
<body>
<a href="d1.asp?File=dm.pdf">DM</a>
</body>
</html>

這個d1.asp還要考慮一些安全性問題,不過我現在連Run這個程式都沒辦法下載檔案

底下這個程式也是....唉,真的是沒有寫程式的天份
代碼: (d2.asp) [選擇]
  <%@ Language=VBScript %>
  <%
   Response.buffer = TRUE
   Response.ContentType = "APPLICATION/OCTET-STREAM"
   Response.AddHeader "Content-Disposition","attachment;filename=dm.pdf"
   
   Dim varStream, oMyObject
   
   Set oMyObject = Server.CreateObject("MengXHFileDownLoad.BinReadFromFile")
   varStream = oMyObject.readBinFromFile("dm.pdf")
   Response.BinaryWrite(varStream)
   Set oMyObject = Nothing
   
   Response.End
  %>

18
1.      開始安裝Windows 2008後,應該不會有太大問題,(如果選擇Server Core,就只有文字模式,如果選擇其他,就有GUI介面;旁邊的說明都很清楚),問題都在OS安裝完成之後。
2.      去執行伺服器管理員,增加Hyper-V伺服器角色,之後會叫你重新開機。
3.      重新開機完成後,會發現雖然可以執行Hyper-V管理員,但是卻不能用。你必須先去Run Microsoft Update,更新Hyper-V;當然,還是要重新開機。
4.      總算可以開始建立Hyper-V虛擬伺服器了,但是你會發現兩個問題。
A.         無法加入網路卡(Not Connected)
B.         無法啟動虛擬伺服器
我們先處理無法啟動虛擬伺服器的問題,因為網路卡的部份,還有得忙哩。
5.      無法啟動虛擬伺服器,這時要檢查一下你的硬體BIOS,是否把No-execute (NX) or DEP關掉了;所以,再重新開機一次吧,進入BIOS。在AMD CPU的主機上,BIOS應該是寫No Execute,Intel CPU的主機上,BIOS應該是寫Execute Disable Bit。把它設成Enable;好了,可以重新開機了。
6.      重新開機完成後,請您試試看啟動之前的虛擬伺服器,如果在安裝OS過程中,會發生藍底白字的當機狀況,請將該虛擬伺服器刪掉,重新建立新的虛擬伺服器。
7.      在建立新的虛擬伺服器之前,請先執行Hyper-V管理員裡的Virtual Network Manager去設定網路卡。
Hyper-V網路卡有三種連線模式:
          External:跟實體網卡一樣
          Internal:只能跟本機實體伺服器連接
          Private:只能虛擬伺服器之間互相連接
一般就用External就可以,記得要取個名字,這樣在建立虛擬伺服器時,才能選擇網路卡!
8.      在建立虛擬伺服器時,預設會使用Network Adapter,請你在建立完成虛擬伺服器之後,再去設定新增一個Legacy Network Adapter,這張網卡才能被即將安裝的OS認得!
9.  接下來就是安裝OS了;等到安裝完成之後,請先更新Patch到Service Pack 2以後版本,再去安裝Integration Service;這樣之前安裝OS時,有個不明的裝置才會變成網路卡。
10.  到此算是大功告成,其他就看你自己想要裝什麼了。
 
PS.如果你在Join Domain有問題,Windows 2008它有個像是Vista的管制功能,叫做「網路探索」。如果無法Join Domain,請把網路探索打開;如果還是不能Join Domain,請把WINS設上去。

Windows 2008 Enterprise安裝完,只有Hyper-V伺服器角色,就佔用七百多M記憶體,將近1GB。
虛擬機+實體機的記憶體不得超過實體記憶體大小,挺浪費的!
在新增虛擬機器時,預設搞個無法驅動的Network Adapter,安裝Integration Service又限制一堆(安裝之後才能驅動),相當不方便。
在沒有安裝Integration Service之前,透過Terminal是沒辦法使用滑鼠操作的,又是一大敗筆。
在Windows 2008上只有英文的Hyper-V管理員,在Vista上雖然有中文的Hyper-V管理員,但是在Vista上安裝Hyper-V管理員也挺麻煩的。
我在同樣的機器上安裝VMWARE ESX,都不需要去調整BIOS DEP的設定,Hyper-V卻要去調整,真是麻煩。

19
單車運動版 / 三子...別再問我Tx了...
« 於: 2008-06-30 23:44 »
三子....你自己看附件吧....

有需要就跟我說

20
我手邊有個開發小型討論版的Case,有興趣的人請跟我聯絡囉。
當然是有Pay的,等討論完功能需求後,再來談價格囉。

不過,案主希望把預算控制在3萬元左右,如果是想接大案子的話,就不好意思了 :)

21
Computer 討論版 / IBM與HP刀鋒比較
« 於: 2008-04-23 13:51 »
這一陣子,聽了幾家廠商簡介刀鋒伺服器。

感覺HP C7000系列的刀鋒,似乎比IBM的好些。

比較吸引我的特點是:
1.HD是外露,不需要拔出整刀,可Hot Swap
2.RAM可擴充較大
3.管理介面較優

不過缺點也不少
1.Storage Blade、Tape Blade都不可與所有Blade共用
2.沒有內建DVD、沒有DVD Blade,只能外接USB DVD
3.Power似乎沒有冗餘模組

不知道各位的看法如何?


22
雜七雜八 / 機車沒電
« 於: 2008-04-23 12:11 »
請問各位學長,有誰比較瞭解機車呢?

小弟的機車,經常無法電動啟動,機車行老闆每次都跟我說是因為電池沒電或是電池壞了。
每次剛換完新電池,就可以電動啟動。
可是換不到第二天,電動啟動就時靈時不靈。
第三天就幾乎連帶動引擎都帶不動(會聽到引擎轉個一兩圈停下來休息一下,轉個幾圈就停下來)。

我為了這個問題,換了七八次電池了;每次換電池都很心痛,要忍受五六個月才再去換一次電池。

這到底是什麼問題呢?

23
Windows 討論版 / 軟硬體資產調查軟體
« 於: 2007-12-28 12:34 »
最近為了軟硬體資產調查,花了一些時間,想把心得分享給大家

利用免費軟體AIDA32以及Lavalys EVEREST Corporate Edition (Ultimate Edition沒有資料庫功能)

免費軟體AIDA32已經停止發展,有部份調查資料不夠詳細,但EVEREST 企業版試用,又會有部份資訊隱藏起來,
所以利用這兩個軟體,將檢查資料都寫到資料庫,再寫一個SQL Script,將AIDA32的資料補到EVERESR

首先,如果是要調查全公司的硬體資訊,請選一台夠力的Server,安裝AIDA32、EVEREST Corporate Edition,
接下來,找一台MS SQL Server,
使用Enterprise Manager 來建立aida32 & everest 資料庫,
在AIDA32以及EVEREST的安裝目錄下,都有SQL Script
再執行Query Analyzer,去開啟AIDA32 & EVEREST的SQL Script,
分別把第一行

--USE everest
--USE aida32


改成

USE everest
USE aida32


並執行該Script,就會分別在aida32 資料庫以及 everest 資料庫中 建立好資料表

然後執行aida32,設定aida32使用ADO,資料庫設定為aida32
執行everest,設定everest使用資料庫,資料庫設定為everest

再將這兩個軟體安裝目錄分享出來,

讓其他電腦可以透過網路執行

\\分享電腦名稱\分享目錄名稱\aida32 /r /sum /ado /silent
\\分享電腦名稱\分享目錄名稱\everest /r /sum /database /silent

這樣就會把硬體相關資訊分別寫到aida32 & everest

然後再去執行SQL Script,

執行以下命令

update a set a.IValue = c.IValue
from
EVEREST.dbo.Item a,
 ( select a.ID, b.IValue from
( SELECT     EVEREST.dbo.Item.ID, EVEREST.dbo.Item.IField, EVEREST.dbo.Item.IValue, EVEREST.dbo.Report.RHost
FROM         EVEREST.dbo.Item INNER JOIN
                      EVEREST.dbo.Report ON EVEREST.dbo.Item.ReportID = EVEREST.dbo.Report.ID ) a,
( SELECT     AIDA32.dbo.Item.IField, AIDA32.dbo.Item.IValue, AIDA32.dbo.Report.RHost
FROM         AIDA32.dbo.Item INNER JOIN
                      AIDA32.dbo.Report ON AIDA32.dbo.Item.ReportID = AIDA32.dbo.Report.ID ) b
where a.IValue like '%TRIAL%' and a.RHost = b.RHost and a.IField = b.IField ) c
where a.ID = c.ID


就可以將AIDA32的資料補到EVEREST資料庫

-----------------------------------------------------
或者,其實這兩個軟體的資料庫表格差異不大,

你可以建可以共用的資料表,SQL Script如下

CREATE DATABASE HardwareReport;

go

USE HardwareReport;

IF exists(select * from sysobjects where id = object_id('Item') and OBJECTPROPERTY(id, 'IsTable') = 1)
DROP TABLE Item;

IF exists(select * from sysobjects where id = object_id('Report') and OBJECTPROPERTY(id, 'IsTable') = 1)
DROP TABLE Report;

IF exists(select * from sysobjects where id = object_id('NextID') and OBJECTPROPERTY(id, 'IsTable') = 1)
DROP TABLE NextID;

CREATE TABLE Report (
  ID          INT IDENTITY (1,1),
  RVersion    VARCHAR(255),
  RHost       VARCHAR(255),
  RHostComment  VARCHAR(255),
  RUser       VARCHAR(255),
  RLocation   VARCHAR(255),
  RDateTime   VARCHAR(16),
  RComplete   BIT NOT NULL,

  CONSTRAINT  cnstR1 PRIMARY KEY(ID)
);

CREATE TABLE Item (
   INum        INT,
  ID          INT IDENTITY (1,1),
  IPage       VARCHAR(100),
  IDevice     VARCHAR(255),
  IGroup      VARCHAR(255),
  IField      VARCHAR(255),
  IValue      VARCHAR(255),
  IIcon       INT,
  IID         INT,
  ReportID    INT NOT NULL,

  CONSTRAINT  cnstI1 FOREIGN KEY(ReportID) REFERENCES Report(ID),
  CONSTRAINT  cnstI2 FOREIGN KEY(ReportID) REFERENCES Report(ID)
);

CREATE TABLE NextID (
  TableName   VARCHAR(6) PRIMARY KEY,
  NextID      INT NOT NULL
);

INSERT INTO NextID (TableName, NextID) VALUES ('Item', 1);
INSERT INTO NextID (TableName, NextID) VALUES ('Report', 1);



將ADIDA32 & EVEREST都設定使用 HardwareReport 資料庫

再將這兩個軟體安裝目錄分享出來,

讓其他電腦可以透過網路執行

\\分享電腦名稱\分享目錄名稱\aida32 /r /sum /ado /silent
\\分享電腦名稱\分享目錄名稱\everest /r /sum /database /silent

這樣AIDA32 & EVEREST就會把 Report Data 寫到 HardwareReport資料庫中

最後,再執行SQL Analyzer

執行以下SQL Script

select RHost, IField, IValue
into #tmp1
from Report
join item on item.ReportID = Report.ID
where RVersion like 'AIDA32 %'
and (
   IField = '作業系統 Service Pack' or
   IField = '登入網域' or
   IField = '系統記憶體' or
   IField = 'C: (NTFS)' or
   IField = '主 IP 位址' or
   IField = '總共大小' or
   IField = 'DMI 系統序號' or
   IField = 'DMI 系統 UUID' or
   IField = 'DMI 主機板序號' or
   IField = 'DMI 底架序號' or
   IField = 'DMI 底架 Asset 標籤'
   )

go

update Item
set Item.IValue = #tmp1.IValue
from Item, #tmp1
where Item.IField = #tmp1.IField

drop table #tmp1


以後,利用其它軟體,例如Excel、Crystal Report、SQL Analyzer等等,執行以下命令,就可以產出軟硬體資訊報表

SELECT *
FROM Report
join Item on Item.ReportID = Report.ID
where RVersion like 'EVEREST %'

24
Network 討論版 / Fortigate 400A的問題
« 於: 2007-11-29 18:39 »
請問各位先進,有誰知道Fortigate 400A是否有限制WAN Link的數量?

Fortigate 400A一共有4 Port 10/100,2 Port 10/100/1000
當我接上第五條WAN Link時,第三條WAN Link會無法正常連線
一拔下第五條WAN Link,第三條就恢復正常...

25
Windows 討論版 / Mail Header的問題
« 於: 2007-10-05 14:59 »
請問一下,

我用撥接帳號上網(區域網路線路拔掉)
然後用Outlook Express寄信到HotMail
可是在Mail Header 會記錄我公司的Domain
Message-ID: <001401c8071b$af7968a0$c209a8c0@ABC.com>

可是同樣的狀況,我用Thunderbird寄
Message-ID卻不是記錄我公司的Domain?
Why ?

請問哪位先進可以解答我的疑惑嗎?

26
工作機會 / 徵Help Desk工讀生
« 於: 2007-08-03 16:31 »
本公司徵求Help Desk工讀生一名
工作地點在中壢

工作內容就是幫同事處理電腦問題,
待遇約20000-22000

意者請洽 0922-886-991
或電 (02)22282-5151#7361 劉先生

27
請教有使用Rembo經驗的學長們,
小弟公司目前全省有40個外點,
每個外點大小不一,電腦台數2-20台。Total 約300台。
全都沒有養MIS,都只靠台北總公司的MIS維護。

網路可通時,都靠VNC來處理問題(MPLS VPN頻寬ADSL 1M/64K),
如果外縣市的外點,遇到中毒、嚴重一點的問題,都是寄回台北。

平均一週會有一台電腦寄回總公司處理。

如果台北地區外點,我的人都要外出幫他們解決問題。

平均一週會有3-5件。

因為外點大多都是門市,電腦不能用,他們就無法營業。

除此之外,總公司這邊(不含外點),平均一週要裝新電腦2-4台。

這樣的環境適合用Rembo來解決Service的問題嗎?

PS.外點的環境作業系統是Win98、Win2K、WinXP
     各外點都有一台共用主機(供檔案分享、列印等使用,PC等級是一般文書用)
     上網頻寬是2M/256K ADSL
     廠牌只有這兩款Compaq、HP
     
PS.總公司Client OS一律都是WinXP,筆電統一都是Toshiba,PC有華碩,有HP、聯強...

PS.外點的電腦是否有PXE功能,我還不確定,不過明年會有一筆預算,可汰換外點電腦硬體。如果暫時以PXE軟碟或其他CDROM開機不知是否可行?

我想如果方案可行,老闆應該願意支持。
http://www-304.ibm.com/jct03001c/software/tivoli/welcome/rembo/answers.html

28
MIS 討論區 / 每家公司都有這種鳥事..
« 於: 2007-05-30 16:09 »
請問一下各位學長,你們遇到這種事都怎麼處理呀...
鳥顧問跑來跟大頭建議,大頭連問問我們 IT的意見都不問,
就直接公告叫採購依此辦理! :evil:

引用
建議PC 購置型錄如下

acer power 1000 與 acer power 2000 可搭配購置

1000 型供貴公司一般使用者已足夠,比原 NB 效能高過數倍 (本局全部採購此型) CPU 為 AMD

2000 型供高階使用者如大量運算 繪圖等 CPU 為 intel

兩者價差 及 網路報價請參考如最後兩列網址

http://www.acer.com.tw/products/desktop/ap_1000.htm

http://www.acer.com.tw/products/desktop/ap_2000.htm

http://www.acer.com.tw/products/desktop/index.htm

http://tw.shopping.yahoo.com/product_price_compare.html?pid=7119401

http://tw.shopping.yahoo.com/product_price_compare.html?pid=7119203

29
MIS 討論區 / 請各位學長建議解決方案
« 於: 2007-05-22 01:27 »
請問一下各位學長都是怎麼去控管RD的設計資料不外流呢?
至於上網或收發信件可以有紀錄去稽核

目前我們公司RD會使用的軟體是SolidWorks、AutoCAD...
希望解決方案是不會只能適用特定的軟體!

不知Thin Client搭配一些其它網路設備是否可以解決此問題....

ZMAN學長可有好建議?

30
Network 討論版 / 分析每個協定的流量
« 於: 2007-05-18 12:52 »
請教各位學長,可否介紹一下,有什麼軟體可以分析Fortigate 400A & CISCO 2611 Router
的每個Protocol流量嗎?最好還有監控提醒的功能。

另外,有哪家廠商有提供設備維護的委外工作?當然,能提供規劃建議更好!
目前公司有兩台CISCO 4506 Switch,沒有跑HA架構,兩台Fortigate 400A,也沒有跑HA架構。
MPLS VPN外點約45點。

頁: [1] 2 3