作者piligo (霹靂狗)
看板PHP
標題[請益] 上傳前先做檔名比對,但還是要上傳完才會比對?
時間Mon Aug 14 23:17:26 2006
我自己寫了一個上傳前先比對看有沒有檔名一樣的,因為如果檔名一樣不比對他就直接
覆蓋原有的資料了,雖然底下寫法有成功,但他要資料上傳完才會比對,如果傳了一個
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)
推 alpe:檔名可以自己取啊. $newFN = md5($filename+time()) 08/14 23:29
推 piligo:恩來玩玩看,可是如果檔名想原封不動呢? 08/14 23:52
推 alexblue:如果檔名為中文 要記得反斜線處理 以免上傳失敗!! 08/15 00:20
推 cttlee:原始存資料庫 下載的時候再變回來 08/15 07:50
→ alpe:下載用 header()+readfile() 08/15 16:14
推 piligo:謝謝以上各位,不過我的問題真的沒辦法上傳前就做比對嗎? 08/15 18:37
推 ottokang:AJAX是你的好朋友 08/16 01:51
推 leecoco:我是只要上傳就依照規則重新命名 EX 取時間 08/16 09:32
推 piligo:leecoco的問題可參考alpe的做法 08/16 23:29