【PHP】20181130課堂練習參考答案

  • 製作一個輸入方塊,限制輸入1~7,輸出對應星期的英文:Mon, Tue, Wed, Thu, Fri, Sat, Sun

[code language=”php”]

<form action="" method="POST">
輸入星期數字(1~7) : <input type="text" name="a">;
<input type="submit" value="送出" name="submit_btn">;
</form>
<?php
if(isset($_REQUEST[‘submit_btn’]))
{
$weekDay = array(”, ‘Mon’, ‘Tue’, ‘Wed’, ‘Thu’, ‘Fri’, ‘Sat’, ‘Sun’);
$a = $_POST["a"];
if ($a < 1 || $a >; 7) {
echo "輸入錯誤!只接受1~7的數字!";
exit();
}
echo "<H1>;".$weekDay[$a]."</H1>";
}
?>
[/code]

  • 製作一個輸入方塊,限制輸入1~12,輸出對應月份的英文:January, February, March, April, May, June, July, August, September, October, November, December。(請參考上題。)

  • 輸入月份的英文:January, February, March, April, May, June, July, August, September, October, November, December,輸出其代表的幾月。

[code language=”php”] <form action="" method="POST">
輸入月份的英文名稱(January,… ) : <input type="text" name="month">
<input type="submit" value="送出" name="submit_btn">
</form>
<?php
if(isset($_REQUEST[‘submit_btn’])) {
$mt = array(‘January’=>1, ‘February’=>2, ‘March’=>3,
‘April’=>4, ‘May’=>5, ‘June’=>6,
‘July’=>7, ‘August’=>8, ‘September’=>9,
‘October’=>10, ‘November’=>11, ‘December’=>12);
$month = $_POST["month"];
$month[0] = strtoupper($month[0]);
echo "你輸入的月份英文名稱是:".$month;
echo "其月份數字為:".$mt[$month];
}
?>
[/code]
  • 輸入身份證字號(字串),由第1個字元根據下表輸出出生地:

A=10 台北市 J=18 新竹縣 S=26 高雄縣
B=11 台中市 K=19 苗栗縣 T=27 屏東縣
C=12 基隆市 L=20 台中縣 U=28 花蓮縣
D=13 台南市 M=21 南投縣 V=29 台東縣
E=14 高雄市 N=22 彰化縣 W=32 金門縣
F=15 台北縣 O=35 新竹市 X=30 澎湖縣
G=16 宜蘭縣 P=23 雲林縣 Y=31 陽明山
H=17 桃園縣 Q=24 嘉義縣 Z=33 連江縣
I=34 嘉義市 R=25 台南縣
[code language=”php”] <form action="" method="POST">
輸入身份證字號 : <input type="text" name="id">
<input type="submit" value="送出" name="submit_btn">
</form>
<?php
if(isset($_REQUEST[‘submit_btn’])) {
$id_city = array(‘台北市’, ‘台中市’, ‘基隆市’,
‘台南市’, ‘高雄市’, ‘台北縣’,
‘宜蘭縣’, ‘桃園縣’, ‘新竹縣’,
‘苗栗縣’, ‘台中縣’, ‘南投縣’,
‘彰化縣’, ‘雲林縣’, ‘嘉義縣’,
‘台南縣’, ‘高雄縣’, ‘屏東縣’,
‘花蓮縣’, ‘台東縣’, ‘澎湖縣’,
‘陽明山’, ‘金門縣’, ‘連江縣 ‘,
‘嘉義市’, ‘新竹市’);
$id_city_1 = array(‘A’ => ‘台北市’, ‘B’ => ‘台中市’,
‘C’ => ‘基隆市’, ‘D’ => ‘台南市’,
‘E’ => ‘高雄市’, ‘F’ => ‘台北縣’);
//只寫前面幾個,完整的,請自行加入

$id = $_POST["id"]; //從輸入方塊取值,指定給變數$id
$id = trim($id); //除去輸入身份證(字串)的空白
echo $id.’…..’;

//將第一個字元轉大寫
$id[0]= strtoupper($id[0]);
echo "你身份證字號第1個字:".$id[0]."<br>";
//第一種方式,用整數索引的方式
echo "你的出身地是:".$id_city[ord($id[0])-65]."(整數索引)<br>";
//第二種種方式,用關連陣列索引的方式
echo "你的出身地是:".$id_city_1[$id[0]]."(關連陣列索引)<br>";
}
?>
[/code]

將分數分級程式以陣列方式改寫:

[code language=”php”]

<form action="" method="POST">
請輸入你的成績 : <input type="text" name="score">
<input type="submit" value="送出" name="submit_btn">
</form>
<?php
$grade = array(‘E’, ‘E’, ‘E’, ‘E’, ‘E’, ‘E’, ‘D’, ‘C’, ‘B’, ‘A’, ‘A+’);
if(isset($_REQUEST[‘submit_btn’]))
{
$score = $_POST["score"];
if (! is_numeric($score)) {
echo "請輸入數值!";
exit();
}

if ($score <= 100 &amp;amp;amp;&amp;amp;amp; $score >= 0){
$s = (int)($score / 10);
echo $grade[$s];
}
else echo "輸入的值 $score 是錯的,必須在0~100之間";
}
?>
[/code]

【電子電路】烙鐵使用知識

  1. 新烙鐵頭第一次使用,打開電源開關,調到300度,紅燈閃馬上給新烙鐵頭上一層錫。等3分鐘後再調到310到370度左右使用。用完後在海綿(海綿泡水微擠)上清潔烙鐵頭,再上一層錫關機,起到保護烙鐵頭。
  2. 最佳焊錫溫度是310-370度之間。溫度調太高烙鐵頭容易氧化,會產生不上錫、發黑,並且減短烙鐵頭和發熱芯使用壽命。
  3. 烙鐵頭出現氧化不上錫或不沾錫,把溫度調到300度,反覆給頭上錫在海綿(海綿泡水微擠)上來回擦清潔,去掉頭的氧化物,然後再上錫使用。不清潔會產生氧化,出現溫度不夠假象,不沾錫者發黑的情況。另外要盡量保持烙鐵頭上有掛錫,防止烙鐵頭出現氧化 請注意換烙鐵頭先擰不鏽鋼羅母拆下套管,不能直接擰黑色電木羅母,不然會引起短路。
  4. 紅燈亮是在加熱,到達指定溫度一閃一閃,在恆溫(鎖定溫度)

【主機維護筆記】郵件系統異常 2018/08/21

狀況:發送郵件時發生550 unrouteable address異常

主機環境:Linux, CPanel, WHA

此次會發生這樣的問題,可能的原因:

1.前日圖資中心的網路防火牆讓學校內部的DNS封包出不了外面,我做了一些DNS處理,也因為不太熟悉DNS運作,把域名刪除,而導致後續的問題

2.也可能因為在解決問題的過程中,順道做了系統的升級…

解法:

1.DNS 及 MX 記錄檢查

檢查主機域名MX記錄

dig domain MX

2.Exim 設定

3.使用 Mail Troubleshooter檢查

4.Email -> Repair Mailbox Permissions (此次關鍵解決方式)

5.Web mail中的追踨傳送中可以觀察到正常/失敗的訊息原因

Google雲端硬碟與Office應用程式的整合

Google給學校師生的超級大禮:Google G-Suit for Education,無限的硬碟空間容量,弘光也有喔~~ :弘光Gmail資訊連結(趁在學時務必取得帳號,等畢業後要申請,得要花500元新台幣加入校友會,由校友會這邊提出申請)。

我們有了無限大的空間後,就要妥善運用了。

Google雲端硬碟提供了類Office的線上應用程式,但是,其格式並不與Office的格式100%相容,造成使用上一個很大的問題,我們有一個解決方案:使用「Google 雲端硬碟外掛程式 Microsoft Office 版

使用上不難,下載安裝Google 雲端硬碟外掛程式 Microsoft Office 版應用程式後,就會在Office應用程式裏插入一個外掛,提供一個Google雲端硬碟的儲存位置選項:

 

 

「網站日誌」- 從192.192.246.169(獨立主機)轉移至wells.fgchen.com(虛擬主機)

2018/2/16 (農曆春節1/1)

心血來潮,將Wordpress從一台主機移到另一台主機(之前想做沒做,把原本獨立主機再挪出來另作他用),步驟:

  1. 將Wordpress網站建立tar ball,  tar -xvf wp.tar ./wp/8
  2. 使用wget,將網站tar檔複製到新位置
  3. 解tar ball
  4. 將資料庫中所有的表格以SQL方式匯出,檔案太大,則進mysql,以soruce wp.sql方式進行匯入。

如果Domain URL不變的話,問題比較單純,底下是url變更下的處理方式:

UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurl', 'http://www.newurl') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl','http://www.newurl');

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl', 'http://www.newurl');

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.oldurl','http://www.newurl');

出現404 not found, 接著處理.htaccess,變更目錄 (由舊目錄改成新目錄)

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /wp
    RewriteRule ^(.*\/)?w3tc_rewrite_test([0-9]+)/?$ $1?w3tc_rewrite_test=1 [L]
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteRule .* - [E=W3TC_ENC:_gzip]
    RewriteCond %{HTTP_COOKIE} w3tc_preview [NC]
    RewriteRule .* - [E=W3TC_PREVIEW:_preview]
    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} =""
    RewriteCond %{REQUEST_URI} \/$
    RewriteCond %{HTTP_COOKIE} !(comment_author|wp\-postpass|w3tc_logged_out|wordpress_logged_in|wp
    RewriteCond "%{DOCUMENT_ROOT}/wp/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_in
    RewriteRule .* "/wp/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC
</IfModule>
# END W3TC Page Cache core
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>

舊網站Wiki也搬移完畢!
https://fgchen.com/wiki

下關鍵字:cpanel performance tuning找到一堆效能調整文章,確有成效!

3D立體拼圖 (雷射切割)

3D立體拼圖 (雷射切割)

3D立體拼圖 (雷射切割)

3D列印是一種加法加工法,適合製作奇形怪狀的物體,但是速度慢。

減法加工:CNC (電腦數值控制機,電腦車床)、雷射雕刻機、雷射切割機、刻印機…

在Thingiverse上下關鍵字”laser cut”,可找到許多可雷射切割的檔案,2D圖檔,非3D圖檔 (但是是3D圖)  (Adobe AI檔 或 Autocad檔)

雷射切割(機)的特色(原理,英文)

  • 精密
  • 材質:紙板、木板、壓克力板、鋁板、金屬 (大雷射功率)
  • 厚度:1, 2, 3, …. 1x mm
  • 線條約磨耗0.2mm (雷射光束切割)

 

3D列印時,若整體印有問題 (形狀有懸空時),我們可以採取分片/分件列印,再用粘合、拼接/榫接的方式,組合,但是要注意的是接合處間隙的問題,使用雷射切割,切割掉的線條剛好讓組件可以有稍微磨擦的方式進行組合,但是3D列印若只是單純用單一線條 (二片間的線條是重疊的),印出來之後,會卡不進去,因此,我們若要用3D列印組合片,必須要製造出接合處的間隙 (而此間隙又必須考量印表機/線材的特性…)。

Japanese Wood Joint

Laser cut arts

Laser cut animals

laser cut box

倫敦電話亭

 

 

meArm機械手臂

組裝成品:

本週作業:

請自選一個模型,設計繪製其可雷射切割之模型,並製作2種形式的圖檔:

  • 整體組合(3D)
  • 展開、攤開、攤平可分別列印形式

展開圖例: