【问题标题】:Uploadify: Display PHP errorsUploadify:显示 PHP 错误
【发布时间】:2011-09-30 09:53:17
【问题描述】:

如何将 Uploadify 后端 PHP 文件导致的错误发送到上传表单?现在,当我从 PHP 向用户报告错误时,我只是回显,然后它转到 Uploadify 的 onComplete 方法并提醒用户。请看下面:

<?php
if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_GET['folder'] . '/';
    $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
    move_uploaded_file($tempFile,$targetFile);
}

if ($error) // I want to show this error on uploading form page.
    {
    echo "Some error";
    } 
else
    {   
    echo '1';
    }
?>

我得到如下错误:

'onComplete': function(a, b, c, data, e){
                                alert(data); 
            }
  1. 问题是我想得到 Only 错误,但如果没有错误它会打印“1”。我只想在有任何错误时打印,否则不要打印 1。
  2. 如何在页面上附加错误数据而不是警报?

谢谢

【问题讨论】:

    标签: php jquery error-handling uploadify


    【解决方案1】:

    如果成功则返回 PHP 1,否则返回错误消息。然后只需检查返回的响应是 1 还是其他值。

    'onComplete': function(a, b, c, data, e){
      if (data == '1') {
          alert('ok!');
       }
       else {
          alert('Error: ' + data);
       } 
     }
    

    【讨论】:

    • 哦,谢谢。你能告诉我如何附加这些数据(页面上的回显)而不是警报吗?
    • $('#div_id').html(data); 参见 jquery 选择器 - api.jquery.com/category/selectors
    【解决方案2】:

    Uploadify 有一个 OnError 回调。

    像这样:

    'onError' : function(event, ID, fileObj, errorObj) {
           alert(errorObj.type+"::"+errorObj.info);
           }    
    

    这只会在上传出错时发出警报。 此特定代码将让您知道错误类型和有关错误的信息

    这里是关于此的 Uploadify 文档的链接: onError

    【讨论】:

      【解决方案3】:

      有大佬解决了这个问题,请查看以下链接:

      http://www.uploadify.com/forum/#/discussion/9139/custom-errors-dont-register-says-completed-instead-/p1

      它帮了我很大的忙!

      【讨论】:

      • 如果您也可以在此处提供解决方案的摘要,将会很有帮助。
      【解决方案4】:

      来自 Uploadify 文档:

      uploadify.php 脚本中回显的任何内容都可以通过onUploadSuccess 事件作为第二个参数(数据)进行访问。

      uploadify.php 文件

      $targetFolder = '/uploads'; // Relative to the root
      
      if (!empty($_FILES)) {
          $tempFile = $_FILES['Filedata']['tmp_name'];
          $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
          $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];
      
          // Validate the file type
          $fileTypes = array('jpg','jpeg','gif','png'); // File extensions
          $fileParts = pathinfo($_FILES['Filedata']['name']);
          if (in_array($fileParts['extension'],$fileTypes)) {
              move_uploaded_file($tempFile,$targetFile);
              echo $targetFolder . '/' . $_FILES['Filedata']['name'];
          } else {
              echo 'Invalid file type.';
          }
      }
      

      Uploadify 调用

      $('#file_upload').uploadify({
          // Some options
          'onUploadSuccess' : function(file, data, response) {
              alert('The file was saved to: ' + data);
          }
      });
      

      【讨论】:

        【解决方案5】:

        试试这个:

        if ($error) 
            {
            echo "error:".$error;
            } 
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-04-23
          • 2012-08-02
          • 2011-05-31
          • 2023-03-17
          • 2011-01-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多