[請益] 上傳前先做檔名比對,但還是要上傳完才會比對?

看板PHP作者 (霹靂狗)時間18年前 (2006/08/14 23:07), 編輯推噓8(801)
留言9則, 6人參與, 最新討論串1/1
我自己寫了一個上傳前先比對看有沒有檔名一樣的,因為如果檔名一樣不比對他就直接 覆蓋原有的資料了,雖然底下寫法有成功,但他要資料上傳完才會比對,如果傳了一個 5MB的資料,花了半個多鐘頭,結果卻呈現檔案已存在,那不被追殺才怪呵呵,這樣要怎 麼修改成還沒上傳就會先比對完成呢? 謝謝 對了為何他會上傳完才比對,關鍵在哪裡呢? upload.htm <FORM method=post action=upload.php enctype="multipart/form-data"> <p>選取檔案: <INPUT type=file name=aaa> <p><INPUT type=submit value=傳送> </FORM> upload.php <?php $a1=exec("ls $aaa_name;echo $?"); if ( $a1!=0 ){ echo " <P> $aaa <P> $aaa_name <P> $aaa_size <P> $aaa_type "; copy($aaa, "$aaa_name"); } else { echo "檔案已存在"; } ?> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.244.15.200 ※ 編輯: piligo 來自: 210.244.15.200 (08/14 23:20)

08/14 23:29, , 1F
檔名可以自己取啊. $newFN = md5($filename+time())
08/14 23:29, 1F

08/14 23:52, , 2F
恩來玩玩看,可是如果檔名想原封不動呢?
08/14 23:52, 2F

08/15 00:20, , 3F
如果檔名為中文 要記得反斜線處理 以免上傳失敗!!
08/15 00:20, 3F

08/15 07:50, , 4F
原始存資料庫 下載的時候再變回來
08/15 07:50, 4F

08/15 16:14, , 5F
下載用 header()+readfile()
08/15 16:14, 5F

08/15 18:37, , 6F
謝謝以上各位,不過我的問題真的沒辦法上傳前就做比對嗎?
08/15 18:37, 6F

08/16 01:51, , 7F
AJAX是你的好朋友
08/16 01:51, 7F

08/16 09:32, , 8F
我是只要上傳就依照規則重新命名 EX 取時間
08/16 09:32, 8F

08/16 23:29, , 9F
leecoco的問題可參考alpe的做法
08/16 23:29, 9F
文章代碼(AID): #14u96TvE (PHP)