taocenter
|
 |
檔案上傳的問題
« 於: 2005-05-08, 22:10:45 » |
|
我想請問在楊宗誌寫的「PHP+IIS+SQL Server網站資料庫徹底研究」中的第十三章的檔案上傳的問題 在13-4頁中的倒數第三行說:「上傳檔案的存放位置,也就是放置上傳檔案的目錄資料夾,其寫入的權限必須打開,......」 請問要如何將目錄資料夾寫入的權限打開? 我執行檔案上傳的範例程式時,出現錯誤,檔案並沒有上傳,我猜可能是寫入的權限沒有打開的原因 執行範例程式時,出現的錯誤訊息如下:
上傳檔案相關資訊: --------------------------------------------------------------------------------
檔案名稱:test.txt 檔案大小:4 檔案類型:text/plain 暫存檔名:C:\PHP\uploadtemp\php3D.tmp
Warning: move_uploaded_file(file\test.txt) [function.move-uploaded-file]: failed to create stream: No such file or directory in D:\Web\mygetfilen.php on line 14
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\PHP\uploadtemp\php3D.tmp' to 'file\test.txt' in D:\Web\mygetfilen.php on line 14 您所上傳的檔案已儲存為 test.txt --------------------------------------------------------------------------------
|
|
|
|
|
已記錄
|
|
|
|
|
|
taocenter
|
 |
多檔案上傳的問題
« 回覆文章 #2 於: 2005-05-09, 09:51:09 » |
|
請問在「PHP+IIS+SQL Server網站資料庫徹底研究中」的「多檔案上傳」的13-8頁
在「uploadm.php」中的upfile[]陣列只有三個元素, 可是在「mygetfilem.php」中的count($_FILES["upfile"])為何變成5了?
-------------------------------------------------------------------------------------- uploadm.php
<HTML><BODY> <H3>FTP 檔案上傳:(傳送多個檔案)<HR></H3>
<Form Action="mygetfilem.php" Method="POST" Enctype="multipart/form-data"> <Input Type="File" Name="upfile[]" >
<Input Type="File" Name="upfile[]" >
<Input Type="File" Name="upfile[]" >
<Input Type="Submit" value=" 開始上傳 "> </Form>
</BODY></HTM>
---------------------------------------------------------------------------------------- mygetfilem.php
<HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <title>多檔案上傳</title> </head> <BODY><H3>上傳多檔案相關資訊:<HR></H3>
<? echo count($_FILES["upfile"])."<p>"; for ( $I=0; $I < (count($_FILES["upfile"])-2); $I++ ) { echo "<BLOCKQUOTE>"; if ( $_FILES["upfile"]["name"][$I] <> "" ) { echo "檔案名稱:" . $_FILES["upfile"]["name"][$I] . "<BR>"; echo "檔案大小:" . $_FILES["upfile"]["size"][$I] . "<BR>"; echo "檔案類型:" . $_FILES["upfile"]["type"][$I] . "<BR>"; echo "暫存檔名:" . $_FILES["upfile"]["tmp_name"][$I] . "<BR>"; //檢驗檔案大小是否大於0 if ( $_FILES["upfile"]["size"][$I] <= 0) { echo "上傳檔案錯誤!您傳送的是空檔案!!"; echo "</BLOCKQUOTE>"; } //檢驗檔案體積是否過大 else if ( $_FILES["upfile"]["size"][$I] > 50000) { echo "上傳檔案錯誤!您傳送的檔案大於50k!!"; echo "</BLOCKQUOTE>"; } else { move_uploaded_file($_FILES["upfile"]["tmp_name"][$I], "file\\" . $_FILES["upfile"]["name"][$I]); echo "您所上傳的檔案已儲存為 " . $_FILES["upfile"]["name"][$I]; echo "</BLOCKQUOTE>"; } } } ?>
<HR></BODY></HTML>
|
|
|
|
|
已記錄
|
|
|
|
|
|
taocenter
|
你說:「因為count($_FILES["upfile"]取得的是檔案物件的屬性並非真正的上傳檔案個數」 那麼檔案物件的屬性有五個囉! 可是在13-4頁只有列出四個: 1.name 2.size 3.type 4.tmp_name 那麼第五個屬性是? 謝謝
|
|
|
|
|
已記錄
|
|
|
|
|
|