引用 | 編輯
nomaid
2005-02-17 01:48 |
樓主
▼ |
||||||||||||
x0
我裝了一個php 的WEBHD程式可是沒有辦法知道說 它是否有限定一個檔案容量限制大小 能否幫我看一下 說 它是否有限制呢? 我有看過裡面的檔案 可是不知道是不是這邊 希望能幫我看一下 謝謝^^ 如果能幫我解答出來的話 且能測試成功的話 個人願提供獎金 1000 雅幣 徵求高手喔^^ PS: 如果需要其他檔案的話 請下載附件 謝謝 個人想法 是不是這行的關係呢? if ($userfile_size[$i] >= 1048576) 因為它的設定檔並沒有 設訂每筆檔案大小 所以我只能猜說 是不是這行 還麻煩各位高手們 解答^^ upload.php 複製程式 <html> <head> <title>文件目錄列表-處理</title> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <link rel="stylesheet" href="img/css.css"> <style type="text/css"> <!-- font { font-size: 14px; font-weight: bold; text-decoration: none} --> </style> </head> <body text=#000000 topmargin="150"> <table><tr><td> <? require("config.php"); checkright($pw,$upw); echo "<font color=#45ACF6>"; for ($i = 1; $i <= $uploadnumber; $i++) { if (@is_file("$userfile[$i]")) { $filesif = 1; if ($userfile_size[$i] >= 1048576) { $userfile_size[$i] = round($userfile_size[$i] / 1048576 * 100 ) / 100 . " MB"; } else if ($userfile_size[$i] >= 1024) { $userfile_size[$i] = round($userfile_size[$i] / 1024 * 100 ) / 100 . " KB"; } else { $userfile_size[$i] = $userfile_size[$i] . " bytes"; } echo "<hr size=1 width=500><font color=red>No.0$i</font><br>"; echo "<table cellspacing=0 cellpadding=0><tr><td width=200><font color=gray>$userfile_name[$i]</font></td><td width=130>大小:<font color=gray>$userfile_size[$i]</font></td><td>類型:<font color=gray>$userfile_type[$i]</font></td></tr></table>"; $timeheader = date("ynd_Hi"); // 上傳後修改文件名為上傳時間格式,使同一分鐘裡無法上傳同一類型文件,防止惡意灌水 // $userfile_name[$i] = substr($userfile_name[$i], -4); $nowfile[$i] = strtolower("$uploaddir$timeheader$userfile_name[$i]"); $nowfile[$i] = strtr($nowfile[$i], " ", "_"); $nowfile[$i] = str_replace(".php", ".phpx", $nowfile[$i]); $nowfile[$i] = str_replace(".php3", ".php3x", $nowfile[$i]); $nowfile[$i] = str_replace(".cgi", ".cgix", $nowfile[$i]); $nowfile[$i] = str_replace(".pl", ".plx", $nowfile[$i]); $nowfile[$i] = str_replace(".asp", ".aspx", $nowfile[$i]); $name = str_replace($uploaddir, "", $nowfile[$i]); function getid(){ $id=date("YmdHis"); return $id; } function nowtime(){ $time=date("Y-m-d H:i:s"); return $time; } ////////////////////格式///////////////////////// switch($userfile_type[$i]) { case "application/x-shockwave-flash": $ico=flash; break; case "application/x-zip-compressed": $ico=zip; break; case "image/gif": $ico=gif; break; case "text/html": $ico=html; break; case "ASP": $ico=html; break; case "application/vnd.rn-realmedia": $ico=real_audio; break; case "audio/x-pn-realaudio": $ico=real_audio; break; case "application/x-compress": $ico=zip; break; case "audio/x-mpeg": $ico=mp3; break; case "application/x-gzip": $ico=zip; break; case "image/ico": $ico=gif; break; case "image/jpeg": $ico=jpeg; break; case "image/pjpeg": $ico=jpeg; break; case "application/octet-stream": $ico=exe; break; case "application/x-zip-compressed": $ico=zip; break; case "text/plain"; $ico=text; break; case "image/x-png": $ico=png; break; case "text/richtext": $ico=txt; break; case "application/zip": $ico=zip; break; case "video/x-msvideo": $ico=in_player; break; case "video/vivo": $ico=win_player; break; case "application/x-tar": $ico=zip; break; case "application/msword": $ico=ord; break; case "audio/x-wav": $ico=sound; break; case "video/mpeg": $ico=quicktime; break; case "audio/x-realaudio": $ico=realaudio; break; case "video/quicktime": $ico=quicktime; break; case "application/pdf": $ico=pdf; break; case "image/tiff": $ico=quicktime; break; case "application/mac-binhex40": $ico=stuffit; break; case "audio/x-aiff": $ico=quicktime; break; case "application/postscript": $ico=postscript; break; case "application/powerpoint": $ico=apps; break; default: $ico=what; }; //////////////////////格式結束///////////////////////// if($js=="") {echo "<font color=red>文件上傳失敗<br>原因:請填寫介紹</font><script language=vbscript> MsgBox \"文件上傳失敗!!!原因:請填寫介紹!\",4096,\"警告\" location.href = \"javascript:history.back()\" </script></tr></td></table>";exit();} $js=str_replace(" ","",$js); $js=str_replace(" ","",$js); //////////////////////////////////寫入上傳開始///////////////////////////////// if (@is_file("$nowfile[$i]")) { echo "<font color=red>文件上傳失敗<br>原因:文件已存在!請在一分鐘後上傳!</font><script language=vbscript> MsgBox \"文件上傳失敗!!!原因:文件已存在!請在一分鐘後上傳!\",4096,\"警告\" location.href = \"javascript:history.back()\" </script></tr></td></table>";exit(); } else { if (@copy($userfile[$i], $nowfile[$i])) { echo "<meta http-equiv=\"refresh\" content=\"$formtime; url=admin.php\"><font color=#000000>文件上傳成功<br>地址為 </font> <a href=$uploadurl$nowfile[$i] target=_blank class=fileslink>$uploadurl$nowfile[$i]</a></tr></td></table>"; $time=nowtime(); $id=getid(); $js=substr("$js",0,150); $js=htmlspecialchars($js); $add=$uploadurl.$nowfile[$i]; $ges=$userfile_size[$i]; $writemsg="$id|!!|$time|!!|$js|!!|$add|!!|$ico|!!|$ges|!!|$name\n"; $fp=fopen($datafile,"a"); fwrite($fp,$writemsg); fclose($fp); } else { echo "<font color=red>文件上傳失敗!<br>原因可能是<br>一、不能找到$uploaddir 文件夾。解決:新建該文件夾或修改配置文件上傳文件存放位置<br>二、$uploaddir 文件夾不能寫入。解決:改變該文件夾屬性為777</font><script language=vbscript> MsgBox \"文件上傳失敗!!!原因:未知!\",4096,\"警告\" location.href = \"javascript:history.back()\" </script></tr></td></table>"; } } @unlink($userfile[$i]); } } echo "</font>"; if (!$filesif) { echo "<p><font color=red>你並沒有上傳任何文件。</font></p><script language=vbscript> MsgBox \"文件上傳失敗!!!原因:你沒有上傳任何文件!\",4096,\"警告\" location.href = \"javascript:history.back()\" </script></tr></td></table>"; } ?> <hr size=1 width=500> <p>目前剩餘空間:<? echo diskfreespace("."); ?> 字節</p> <p><a href=index.php>? 返回首頁 ?</a></p> </body> </html> <? function checkright($pw,$upw){ if($pw!=$upw){ echo"無權上傳"; exit; } } ?>
x0
|
引用 | 編輯
feng
2005-02-17 15:34 |
1樓
▲ ▼ |
那行應該只是決定要用什麼樣的單位來秀出要上傳檔案的大小。
我是沒有幫你看全部的程式碼啦~ 但是依我過去的經驗,若你發現小的檔案可以傳,而大的檔案傳不上去; 但卻又在程式中找不到有限制檔案大小的地方,那有可能是伺服器的設定所限制住了 常見的有: php.ini 的 post_max_size php.ini 的 upload_max_filesize httpd.conf 的 Timeout 這幾個值你可能需要 check 一下,看看是不是被他們所限制住了。 不過很抱歉,沒有解決你的問題,只是提了另一個問題 x0 |
引用 | 編輯
lidafakimo
2005-02-27 21:47 |
2樓
▲ |
是上傳檔案到網站的容量嗎
windows\php.ini 可以設定上傳檔案大小 x0 |