【问题标题】:uploadify & PHP - upload cancel & page refresh issueuploadify & PHP - 上传取消 & 页面刷新问题
【发布时间】:2012-11-24 06:35:14
【问题描述】:

我已经在我现有的编程中集成了 uploadify 模块,现在一切正常。

现在,我想做两件事。

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

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

非常感谢, 韩国皇家空军

【问题讨论】:

    标签: php mysql uploadify


    【解决方案1】:

    您可以为此使用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(true) 在上传完成后刷新页面

    【讨论】:

      【解决方案2】:

      试试这个

      $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>';
      
              }
          });
      });
      

      【讨论】:

        猜你喜欢
        • 2017-04-17
        • 1970-01-01
        • 2021-12-31
        • 2018-03-22
        • 2011-05-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多