用9個檔案上傳的方格
<form id="upForm" action="test01.php" method="post" enctype="multipart/form-data">
<?PHP
for ($i=1;$i<10;$i++) {
echo "$i <input name='l1upfile[$i]' type='file' ><br>";
}
?>
<input type="submit" value="上傳" />
</form>
只有 1,4輸入檔案時,可得到底下的$_FILES陣列
Array
(
[l1upfile] => Array
(
[name] => Array
(
[1] => number.sb2
[2] =>
[3] =>
[4] => 抽座號.sb2
[5] =>
[6] =>
[7] =>
[8] =>
[9] =>
)
[type] => Array
(
[1] => application/octet-stream
[2] =>
[3] =>
[4] => application/octet-stream
[5] =>
[6] =>
[7] =>
[8] =>
[9] =>
)
[tmp_name] => Array
(
[1] => /tmp/phpRwv3Pk
[2] =>
[3] =>
[4] => /tmp/php3wqacg
[5] =>
[6] =>
[7] =>
[8] =>
[9] =>
)
[error] => Array
(
[1] => 0
[2] => 4
[3] => 4
[4] => 0
[5] => 4
[6] => 4
[7] => 4
[8] => 4
[9] => 4
)
[size] => Array
(
[1] => 53048
[2] => 0
[3] => 0
[4] => 53054
[5] => 0
[6] => 0
[7] => 0
[8] => 0
[9] => 0
)
)
)
補充
單一檔案上傳
<input name='upfile1[0]' type='file' />
<input name='upfile1[1]' type='file' />
和多重檔案上傳
<input name='upfile2[]' type='file' multiple="" />
得到的 $_FILES陣列是相同的
Array('name'=>array(0=>...,1=>...),
'type'=>array(0=>...,1=>...),
'tmp_name'=>array(0=>...,1=>...),
'error'=>array(0=>...,1=>...),
'size'=>array(0=>...,1=>...))
2018年1月24日 星期三
PHP 的測試 (1) MD5
這是以前測試的程式
md5
不論參數多長,總是產生一個長度32的字串
echo md5('tycx/asdfasdfsadfasd');
//a4cd629d921a937bfc6a7c1f38618111
echo md5('tycx/asdfas/sdfasdf/asdfasdf/asdfasdf/asdfasdf/asdfasdf/asdfasdfdfsadfasd');
//323acda0571ca5692d08ab6d410780bf
2018年1月18日 星期四
Namespace觀念與用法
最近查看別人寫的php程式碼,發現大量使用namespace 和 use
Namespace是物件導向語言很基本的功能,主要在解決class名稱衝突的問題。C++與C#也稱為namespace,Java則稱為package,雖然名稱不一樣,但精神都一樣,不過在語法部分PHP有自己的主張,與其他語言稍有不同。
假如是一個人從頭寫到尾的PHP專案,就不會遇到class名稱互相衝突的問題,但如果大量使用別人的framework或package,就很可能遇到class名稱相衝突的問題,所以才說namespace是PHP現代化最重要的基石。
Namespace的宣告會緊接著在
http://oomusou.io/php/php-namespace/ 說得很清楚
Namespace是物件導向語言很基本的功能,主要在解決class名稱衝突的問題。C++與C#也稱為namespace,Java則稱為package,雖然名稱不一樣,但精神都一樣,不過在語法部分PHP有自己的主張,與其他語言稍有不同。
假如是一個人從頭寫到尾的PHP專案,就不會遇到class名稱互相衝突的問題,但如果大量使用別人的framework或package,就很可能遇到class名稱相衝突的問題,所以才說namespace是PHP現代化最重要的基石。
Namespace的宣告會緊接著在
<?php
的下一行,命名規則建議最頂層的namespace名稱以vendor命名(公司名稱或組織名稱),必須是世界上唯一的名稱,以免class名稱雖然不衝突,但namespace名稱卻衝突了。http://oomusou.io/php/php-namespace/ 說得很清楚
2018年1月17日 星期三
Draw基本認識
認識功能表和繪圖工具列
0. 從桌面上點選LibreOffice,然後開啟Draw繪圖軟體
1. 繪圖工具列可以用 檢視/工具列/繪圖 調整可見與否
2. 可以拖拉繪圖工具列到你想要的位置
3. 利用繪圖工具列中的任一幾個基本圖案構成一個圖形,如下方上圖
3-1 圖形的顏色可以用右方的屬性窗格中 區域/充填,然後選顏色
0. 從桌面上點選LibreOffice,然後開啟Draw繪圖軟體
1. 繪圖工具列可以用 檢視/工具列/繪圖 調整可見與否
2. 可以拖拉繪圖工具列到你想要的位置
3. 利用繪圖工具列中的任一幾個基本圖案構成一個圖形,如下方上圖
3-1 圖形的顏色可以用右方的屬性窗格中 區域/充填,然後選顏色
4. 先畫一個正圓(按住shift再拖曳圓),然後使用功能表的 編輯/製作副本,如下的方式填入數字
5. 用同樣的方式製作一個漸層的方形
用PHP產生gif動畫圖檔
這是一件很有趣的事情
我準備了兩個png檔和 gifencoder.class.php (下載)
$frames[] 裡是 gif檔案單層的內容
$frames[] 則是間隔
這是基本樣式
header ('Content-type:image/gif');
include('gifencoder.class.php');
$text = "Hello";
// Open the first source image and add the text.
$image = imagecreatefrompng('aa.png');
$text_color = imagecolorallocate($image, 200, 200, 200);
imagestring($image, 5, 5, 5, $text, $text_color);
// Generate GIF from the $image
// We want to put the binary GIF data into an array to be used later,
// so we use the output buffer.
ob_start();
imagegif($image);
$frames[]=ob_get_contents();
$framed[]=40;
// Delay in the animation.
ob_end_clean();
// And again..
// Open the first source image and add the text.
$image = imagecreatefrompng('xml.png');
$text_color = imagecolorallocate($image, 200, 200, 200);
imagestring($image, 5, 20, 20, $text, $text_color);
// Generate GIF from the $image
// We want to put the binary GIF data into an array to be used later,
// so we use the output buffer.
ob_start();
imagegif($image);
$frames[]=ob_get_contents();
$framed[]=40;
// Delay in the animation.
ob_end_clean();
// Generate the animated gif and output to screen.
$gif = new GIFEncoder($frames,$framed,0,2,0,0,0,'bin');
echo $gif->GetAnimation();
我準備了兩個png檔和 gifencoder.class.php (下載)
$frames[] 裡是 gif檔案單層的內容
$frames[] 則是間隔
這是基本樣式
header ('Content-type:image/gif');
include('gifencoder.class.php');
$text = "Hello";
// Open the first source image and add the text.
$image = imagecreatefrompng('aa.png');
$text_color = imagecolorallocate($image, 200, 200, 200);
imagestring($image, 5, 5, 5, $text, $text_color);
// Generate GIF from the $image
// We want to put the binary GIF data into an array to be used later,
// so we use the output buffer.
ob_start();
imagegif($image);
$frames[]=ob_get_contents();
$framed[]=40;
// Delay in the animation.
ob_end_clean();
// And again..
// Open the first source image and add the text.
$image = imagecreatefrompng('xml.png');
$text_color = imagecolorallocate($image, 200, 200, 200);
imagestring($image, 5, 20, 20, $text, $text_color);
// Generate GIF from the $image
// We want to put the binary GIF data into an array to be used later,
// so we use the output buffer.
ob_start();
imagegif($image);
$frames[]=ob_get_contents();
$framed[]=40;
// Delay in the animation.
ob_end_clean();
// Generate the animated gif and output to screen.
$gif = new GIFEncoder($frames,$framed,0,2,0,0,0,'bin');
echo $gif->GetAnimation();
Draw繪圖 第一課
從桌面上點選LibreOffice,然後開啟Draw繪圖軟體
1.把紙張調整為橫向(格式/頁面/頁/橫向/確定),請在紙張的左邊完成底下的圖案
2.畫出一個大圓
3.再畫出一個小圓
4.複製小圓
如圖
5.編輯/全部選取,按下右鍵 選 形狀/合併
6.畫出一個小圓並複製成兩個小圓圈,當作眼睛(用複製的才不會大小眼)
7.編輯/全部選取,按下右鍵,選 形狀/減去
8.用圓弧工具,畫一個弧形,當作嘴巴(可以加粗線條並換色)
9.編輯/全部選取,群組
10.修改/轉換/變成3D
11. 依照同樣的方式,在紙張的右邊完成你自己的創作
例如:
1.把紙張調整為橫向(格式/頁面/頁/橫向/確定),請在紙張的左邊完成底下的圖案
2.畫出一個大圓
3.再畫出一個小圓
4.複製小圓
如圖
5.編輯/全部選取,按下右鍵 選 形狀/合併
6.畫出一個小圓並複製成兩個小圓圈,當作眼睛(用複製的才不會大小眼)
7.編輯/全部選取,按下右鍵,選 形狀/減去
8.用圓弧工具,畫一個弧形,當作嘴巴(可以加粗線條並換色)
9.編輯/全部選取,群組
10.修改/轉換/變成3D
11. 依照同樣的方式,在紙張的右邊完成你自己的創作
例如:
2018年1月14日 星期日
2018年1月11日 星期四
scratch 草船借箭
範例:
1.下載已經存在的角色的範例檔 (boatarrow.sb2)。
2.播放範例
對話:
孔明:周瑜要我三天內造十萬支箭,你可要幫我的忙
魯肅:怎麼幫呢?
孔明:二十艘戰船
孔明:每一艘都要搭上布幔、紮滿草束,並配備三十名軍士。
魯肅:給
動畫:
第一天~第三天
對話+動畫:
孔明:我們去取箭
船(魯肅):曹操兵多勢大,萬一攻過來怎麼得了?
船(孔明):放心吧!曹操生性多疑,不會在霧中開戰的,一定只在遠處放箭。我們就等著收箭吧!
船(士兵):謝謝丞相的箭。
參考程式碼
訂閱:
文章 (Atom)