上傳小程式分享

看板PHP作者 (Powered by Zend Engine2)時間17年前 (2007/04/17 23:26), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
今天興致來的時候,寫了一個上傳檔案的程式 功能說明: 1. 一次可上傳 多個檔案,預設為10個,數目可自己調 2. 每個檔案都丟到不同的目錄,防止檔名相同時被 over write 目前以 time stamp 命名 3. 解決中文檔名許蓋功問題 code如下,有興趣可以參考看看,如果有Bug也請提出... <?php set_time_limit (0); ini_set('memory_limit', '-1'); $upload_dir = 'E:/upload'; // 上傳目錄,請自行設定 if (!is_dir($upload_dir)) mkdir($upload_dir); $max_upload_file = 10; // 上傳檔案數目 $msg = ''; if (isset($_POST['filename']) && is_array($_POST['filename'])) { foreach ($_POST['filename'] as $num=>$name) { if ($name!='' && $_FILES['file']['tmp_name'][$num]!='' && is_file($_FILES['file']['tmp_name'][$num])) { $dest_dir = "$upload_dir/" . time(); if (!is_dir($dest_dir)) mkdir($dest_dir); else { $i = 2; while (1) { $new_dest_dir = "$dest_dir.$i"; if (!is_dir($new_dest_dir)) { mkdir($new_dest_dir); $dest_dir = $new_dest_dir; break; } $i++; } } $dest = "$dest_dir/$name"; if (move_uploaded_file($_FILES['file']['tmp_name'][$num], $dest)) $msg .= "<font color='red'><b>$name</b></font> 上傳成功\ <br>\n"; } } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "" rel="nofollow">http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <title>上傳檔案</title> <script language="javascript"> function submit_form(theForm) { var filepath; var pos; var len; var filename; for (i=0 ; i<theForm.elements['file[]'].length ; i++ ) { filepath = theForm.elements['file[]'][i].value; pos = filepath.lastIndexOf("\\"); len = filepath.length; filename = filepath.substring(pos+1,len); theForm.elements['filename[]'][i].value = filename; } theForm.submit(); } </script> </head> <body> <?php if ($msg!='') { echo $msg; echo '<hr>'; } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="form1"> <?php for ($i=0; $i<$max_upload_file; $i++): ?> <input name="file[]" type="file" size="50"> <input name="filename[]" type="hidden"> <br> <?php endfor; ?> <input type="button" name="Submit" value="上傳" onClick="submit_form(this.form)"> </form> </body> </html> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.245.58 ※ 編輯: PHP5 來自: 140.112.245.58 (04/17 23:27)

04/20 01:29, , 1F
給你推一下^^
04/20 01:29, 1F
文章代碼(AID): #169EStc_ (PHP)