Uploadify: отображать ошибки PHP - PullRequest
0 голосов
/ 07 июля 2011

Как я могу отправить ошибки, вызванные внутренним PHP-файлом Uploadify, в форму загрузки? Прямо сейчас, когда у меня есть ошибка, чтобы сообщить пользователю из PHP, я просто эхо, и он идет к onComplete метод Uploadify и предупреждает пользователя. Пожалуйста, смотрите ниже:

<?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. Проблема в том, что я хочу получить только ошибку, но она выведет «1», если ошибки нет. Я хочу печатать, только если есть какая-либо ошибка, иначе не печатайте 1.
  2. Как добавить данные об ошибке на страницу вместо предупреждения?

Спасибо

Ответы [ 5 ]

1 голос
/ 07 июля 2011

PHP эхо 1 в случае успеха и сообщение об ошибке, если нет.Затем просто проверьте ответ 1 или что-то еще.

'onComplete': function(a, b, c, data, e){
  if (data == '1') {
      alert('ok!');
   }
   else {
      alert('Error: ' + data);
   } 
 }
0 голосов
/ 26 октября 2013

Из документации Загрузить :

Все, что отражено в скрипте 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);
    }
});
0 голосов
/ 20 сентября 2013

Есть парень, который исправил эту проблему, проверьте следующую ссылку:

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

это мне очень помогло!

0 голосов
/ 07 июля 2011

Uploadify имеет функцию обратного вызова OnError.

Как это:

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

Это предупредит только в случае ошибки при загрузке. Этот конкретный код позволит вам узнать тип ошибки и информацию об ошибке

вот ссылка на документацию Uploadify об этом: OnError

0 голосов
/ 07 июля 2011

попробуйте это:

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