2012-11-24 44 views
0

我已经在我现有的编程中集成了uploadify模块,并且现在工作正常。uploadify和PHP - 上传取消和页面刷新问题

现在,我想做2件事情。

1 - 在文件上传过程中点击取消按钮时,立即取消文件上传过程,文件不在服务器上传,文件名存储在数据库中。那么如何防止脚本在我取消上传时不会将数据存储在数据库中?请帮助。

2 - 文件上传过程完成后是否可以刷新整个网页?请帮忙。

非常感谢, KRA

回答

0

可以使用uploadify的OnUploadComplete事件这一点。上传完成后,您可以保存上传文件的文件名。所以如果你能够在两者之间进行上传,那么它将不会被存储在数据库中。

$(function() { 
    $("#file_upload").uploadify({ 
     'swf'    : '/uploadify/uploadify.swf', 
     'uploader'   : '/uploadify/uploadify.php', 
     'onUploadComplete' : function(file) { 
      alert('The file ' + file.name + ' finished processing.'); 
     } 
    }); 
}); 

也为第二件事情,你可以使用上面的函数location.reload(真)刷新页面上上传

+0

谢谢你的答复。 – KRA

0

完成试试这个

$targetFolder = $UPLOAD_PATH; // Relative to the root 
$verifyToken = md5('unique_salt' . $_POST['timestamp']); 
if (!empty($_FILES) && $_POST['token'] == $verifyToken) { 
$tempFile = $_FILES['Filedata']['tmp_name']; 
$targetPath = $targetFolder; 
$targetFileName = $int_pkid.".".$targetFileExt;; 
$targetFile = rtrim($targetPath,'/') . '/' . $targetFileName; 

// Validate the file type 
$fileTypes = array('pdf','doc','docx'); // File extensions 
$fileParts = pathinfo($_FILES['Filedata']['name']); 

if (in_array($fileParts['extension'],$fileTypes)) { 
    move_uploaded_file($tempFile,$targetFile); 
    echo '1'; 

      //Will Enter this Block only when the upload is success 
      //This should fix one of you 
      $str_query_insert="INSERT INTO tr_file_data (pkid,title,filename)"; 
      $str_query_insert.=" VALUES(".$int_pkid.",'".${str_title}."','".${targetFileName}."')"; 
      ExecuteQuery($str_query_insert); 

      //To Reload, there are no straight legal ways, but can do with a twist 
      //Method 1: 
      Header('Location: '.$_SERVER['PHP_SELF']); 
      Exit(); //optional 
      //Method 2: 
      echo '<script>parent.window.location.reload(true);</script>'; 




} else { 
    echo 'Invalid file type.'; 
} 
} 


// To apply directly to uploadify 
$(function() { 
    $("#file_upload").uploadify({ 
     'swf'    : '/uploadify/uploadify.swf', 
     'uploader'   : '/uploadify/uploadify.php', 
     'onUploadComplete' : function(file) { 
      alert('The file ' + file.name + ' finished proce`enter code here`ssing.'); 

       //Will Enter this Block only when the upload is success 
       //This should fix one of you 
       $str_query_insert="INSERT INTO tr_file_data (pkid,title,filename)"; 
       $str_query_insert.=" VALUES(".$int_pkid.",'".${str_title}."','".${targetFileName}."')"; 
       ExecuteQuery($str_query_insert); 

       //To Reload, there are no straight legal ways, but can do with a twist 
       //Method 1: 
       Header('Location: '.$_SERVER['PHP_SELF']); 
       Exit(); //optional 
       //Method 2: 
       echo '<script>parent.window.location.reload(true);</script>'; 

     } 
    }); 
});