作者eric770715 (北極熊)
看板PHP
標題[請益] 關於Upload
時間Sun Sep 2 12:10:38 2007
大家好:
想請問一個問題,最近寫了一個Upload的PHP,
發現有些檔案會一直上船屍敗,
試了好久,還是找不出再怎樣的情況下會失敗,
例如,我傳了一個Access.log 大小為20MB的檔案,
上傳中的頁面就停了5秒吧,然後顯示上傳失敗,
同一個檔案,換成30MB,就只要1秒鐘就成功了,
如果再換成40MB,可能又會失敗,
中文檔名就更不用說了,1~2KB的,有的可以有的不能,
這個問題實在很頭痛,
不知道是不是PHP本身的Bug,
環境如下:
Windows XP Service Pack 1
AppServ V2.4.5(Apache/1.3.34 PHP/4.4.1)
請大家幫我看看我該怎麼做好嗎,謝謝。
程式碼如下:
upload1.php
<form action="upload2.php" method="post" enctype="multipart/form-data">
第1個檔案:<input type="file" name="uploadfile"><BR>
<input type="submit" value="開始上傳"><br>
</form>
upload2.php
<?
echo"儲存在PHP的tmp中的名稱:".$uploadfile;
echo"原本的檔案名稱:".$uploadfile_name;
echo"檔案大小:".$uploadfile_size."位元組";
echo"檔案類型:".$uploadfile_type;
if(copy($uploadfile,$uploadfile_name)){
echo"第1個檔案上傳成功!<BR>";
}else{
echo"第1個檔案上傳失敗!<BR>";
}
?>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.89.67
推 pakker:只能說是copy失敗不能說是上傳失敗吧.. 09/02 22:05
→ eric770715:可是 儲存在PHP中的暫存檔那邊是空白的啊 09/02 22:15
→ eric770715:如果是複製失敗的話 那暫存檔應該要有東西才對 09/02 22:17
→ eric770715:如果硬要說複製失敗的話 那為什麼會失敗?? 09/02 22:19
→ eric770715:檔案大小是OK的 09/02 22:20
推 buganini:你需要看一下$uploadfile_error 09/03 12:30
→ buganini:copy的第一個參數..應該是$uploadfile_tmp_name ? 09/03 12:31
→ buganini:register_global=On的寫法我不太確定... 09/03 12:32
→ eric770715:不汰董意思說 09/05 16:06
→ eric770715:可否再說清楚一點 09/05 16:07