Upload Multiple File PHP code

本帖最後由 CSA41200 於 2013-10-31 11:14 編輯

各位ching,請問可以點改個code,係每次refresh之後,唔會再出現"XXX uploaded successfully"

code 如下:

<?php
if($_POST['pgaction']=="upload")
        upload();
else
        uploadForm();

//The form having dynamic file uploader
function uploadForm() {
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title> :: FILEUPLOAD :: </title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>

<body bgcolor="#C8C8C8" leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0">
<br>
<form name="frm" method="post" onsubmit="return validate(this);" enctype="multipart/form-data">
<input type="hidden" name="pgaction">
        <?php if ($GLOBALS['msg']) { echo '<center><span class="err">'.$GLOBALS['msg'].'</span></center>'; }?>
        <table align="center" cellpadding="4" cellspacing="0" bgcolor="#EDEDED">       
                <tr class="tblSubHead">
                        <td colspan="2">Upload any number of file</td>
                </tr>
                <tr class="txt">
                        <td valign="top"><div id="dvFile"><input type="file" name="item_file[]"></div></td>
                        <td valign="top"><a href="javascript:_add_more();" title="Add more"><img src="plus_icon.gif" border="0"></a></td>
                </tr>
                <tr>
                        <td align="center" colspan="2"><input type="submit" value="Upload File"></td>
                </tr>
        </table>
</form>
<script language="javascript">
<!--
        function _add_more() {
                var txt = "<br><input type=\"file\" name=\"item_file[]\">";
                document.getElementById("dvFile").innerHTML += txt;
        }
        function validate(f){
                var chkFlg = false;
                for(var i=0; i < f.length; i++) {
                        if(f.elements.type=="file" && f.elements.value != "") {
                                chkFlg = true;
                        }
                }
                if(!chkFlg) {
                        alert('Please browse/choose at least one file');
                        return false;
                }
                f.pgaction.value='upload';
                return true;
        }
//-->
</script>
</body>
</html>
<?php
}

//function to store uploaded file

function upload(){       
        if(count($_FILES["item_file"]['name'])>0) { //check if any file uploaded
                $GLOBALS['msg'] = ""; //initiate the global message
                for($j=0; $j < count($_FILES["item_file"]['name']); $j++) { //loop the uploaded file array
                        $filen = $_FILES["item_file"]['name']["$j"]; //file name
                        $path = 'webupload/'.$filen; //generate the destination path
                        if(move_uploaded_file($_FILES["item_file"]['tmp_name']["$j"],$path)) { //upload the file
                                $GLOBALS['msg'] .= "File# ".($j+1)." ($filen) uploaded successfully<br>"; //Success message
                        }
                }
        }
        else {
                $GLOBALS['msg'] = "No files found to upload"; //Failed message       
        }
        uploadForm(); //display the main form
}
?>

你show完msg 唔清番佢 咁你upload完一次之後佢永遠都係度 咪每次都會彈success message 最簡單試試
<?php if ($GLOBALS['msg']) { echo '<center><span class="err">'.$GLOBALS['msg'].'</span></center>';  unset($GLOBALS['msg']);}?>

TOP

你show完msg 唔清番佢 咁你upload完一次之後佢永遠都係度 咪每次都會彈success message 最簡單試試
  ...
educationer 發表於 2013-10-31 11:32


ching,跟你做法都係無效 >.<
有無其他方法?

TOP

help~~~~~

TOP

本帖最後由 educationer 於 2013-11-1 12:03 編輯

可能係if statment condition 問題,因(而家$GLOBALS['msg']係true就會show msg?) 而唔係check佢係咪空既,

一係就

<?php if (isset($GLOBALS['msg'])) { echo '<center><span class="err">'.$GLOBALS['msg'].'</span></center>';  unset($GLOBALS['msg']);}?>

一係就

<?php if ($GLOBALS['msg'] != "") { echo '<center><span class="err">'.$GLOBALS['msg'].'</span></center>';  $GLOBALS['msg'] = "";}?>

TOP

本帖最後由 CSA41200 於 2013-11-2 00:21 編輯
可能係if statment condition 問題,因(而家$GLOBALS['msg']係true就會show msg?) 而唔係check佢係咪空既, ...
educationer 發表於 2013-11-1 11:32


educationer ching,跟你ge做法都係唔得 >.<
1. 起初係咁ge

2. 成功upload係咁ge

3. 按F5 refresh

4. 之後就變成咁


已經無野upload,按F5 refresh,竟然"XXX 成功upload"句野仲係返度  >.<
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

各位ching,個php檔已經可以係下面條link dl,可唔可以幫我睇下邊度有問題,引致我上面所講ge情況出現!!!
thanks !!!
請下載

TOP

回復 6# CSA41200

你撳重試果陣等於resubmit左張form,所以有message係正常。

TOP

回復  CSA41200

你撳重試果陣等於resubmit左張form,所以有message係正常。
justlazy 發表於 2013-11-3 14:12



   
ching,咁可以點搞?

TOP

refresh 就自然會將個post做多次, 呢件係好合理既事

如果真係要避, 可以格硬係upload success 做個 header redirect 之類等browser refresh唔再submit

TOP