看板 PHP 關於我們 聯絡資訊
今天興致來的時候,寫了一個上傳檔案的程式 功能說明: 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" "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)
leecoco:給你推一下^^ 04/20 01:29