廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2872 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
linedt 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x26
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[PHP][討論] 如何寫出上傳功能?
如何寫出上傳功能呢?

假設像論壇一樣,當我上傳好之後,他就可以顯示出來了,我上傳10張就出現10張

我只需要簡易的 所以不想架設4images 拜託教學了 表情


[ 此文章被linedt在2006-01-10 21:58重新編輯 ]


獻花 x0 回到頂端 [樓 主] From:台灣數位聯合 | Posted:2006-01-10 21:44 |
aa 手機 會員卡 葫蘆墩家族
個人文章 個人相簿 個人日記 個人地圖 個人商品
特殊貢獻獎 社區建設獎
頭銜:            
站長
級別: 站長 該用戶目前不上站
推文 x1964 鮮花 x5260
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

複製程式
<?
if ($act=="upload")
{ 
for ($i=1;$i<=3;$i++)
{
if ($uploadfile[$i]=="none")
{
echo "第".$i."個檔案沒有選取檔案或超過所限制的上傳檔案大小";
echo "<p>";
continue;
}
echo "第".$i."個檔案的資訊:";
echo "<br>";
echo "儲存在PHP的tmp中的名稱:";
echo "<br>";
echo "$uploadfile[$i]";
echo "<br>";
echo "原本的檔案名稱:";
echo "<br>";
echo "$uploadfile_name[$i]";
echo "<br>";
echo "檔案大小:";
echo "<br>";
echo "$uploadfile_size[$i]"."位元組";
echo "<br>";
echo "檔案類型:";
echo "<br>";
echo "$uploadfile_type[$i]";
echo "<br>";
if (copy($uploadfile[$i],$uploadfile_name[$i]))
{
echo "第".$i."個檔案上傳成功!";
}
else
{
echo "第".$i."個檔案上傳失敗!";
}
echo "<p>";
}
exit;
}
?>
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
<?
for ($i=1;$i<=3;$i++)
{
echo "第".$i."個檔案:";
echo "<input type=\"file\" name=\"uploadfile[".$i."]\">";
echo "<br>";
}
?>
<input type="submit" value="開始上傳">
<input type="hidden" name="act" value="upload">
</form>

表單部份:

1.<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
  這一行是用來限制上傳檔案的大小,
  注意,這一行一定要出現在所有<input type=file ...>之前.
  而value是設定大小,單位是位元組(Byte),1MB=1024KB=1024*1024B=1048576B.
  上傳的檔案若大於此設定的value,則$uploadfile會等於none.
2.利用for迴圈產生3個<input type=file ...>的檔案上傳元件,
  其中name分別為uploadfile[1],uploadfile[2],uploadfile[3],這是利用php中的陣列.

上傳檔案部份:

上傳檔案的程式碼也利用for迴圈的方式,來使3個陣列中的變數名稱上傳,
中間有一段:
if ($uploadfile[$i]=="none")
{
    echo "第".$i."個檔案沒有選取檔案或超過所限制的上傳檔案大小!";
    echo "<p>";
    continue;
  }
若上傳的檔案沒有選取或超過限制的大小時,$uploadfile會等於none,
此時就不用處理下面的copy程序,但迴圈卻仍要繼續執行,
於是就使用了continue;來忽略下面的程式碼,重新執行下一個count的迴圈.
如此就能做到一次上傳很多的檔案了!

限制上傳檔案類型部份:

關於這一部份,我在程式碼中沒有做修改,
但只要將$uploadfile拿來判斷即可,如:
if ($uploadfile_type[$i]!="image/pjpeg")
{
  echo "你上傳的檔案不是jpg圖檔!";
  continue;
}
image/pjpeg可以修改為你所要限制的檔案類型,就可以限制上傳的檔案類型了呀!

轉載自 http://dob.tnc.edu.tw/themes/...php?s=497&t=


獻花 x0 回到頂端 [1 樓] From:台灣台灣固網 | Posted:2006-01-18 08:28 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.063956 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言