Загрузить с помощью CodeIgniter

В файле uploadify внутренний PHP-файл отображает «1», чтобы указать, что загрузка завершена. Точно так же, если я хочу получить некоторую информацию об ошибке из сценария PHP на страницу загрузки, мне нужно будет повторить ошибку в функции.

Например:

<?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){        //some error.
    echo $error;  //dont want to echo
} else {
    echo '1';    //dont want to echo
}

?>

Я пытаюсь интегрировать выгрузку с фреймворком CodeIgniter, поэтому я использую функцию контроллера для обработки загрузки. Я не хотел бы писать много эхо-команд в своей функции в контроллере, я пытался использовать «return 1», но это не сработало. Есть ли способ


person sunjie    schedule 06.07.2011    source источник


Ответы (1)


Иногда вам нужно повторять эхо, но чтобы быть более организованным и избежать множества эхо, вы могли бы сделать:

function processError($error){
    if ($error){        
        return $error;  
    } else {
        return '1';    
    }
}

А затем в вашем контроллере

<?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);
}

echo processError($error); //Only 1 echo
?>

Надеюсь это поможет. Ваше здоровье

person Edgar Villegas Alvarado    schedule 06.07.2011