使用CodeIgniter上传

时间:2011-07-06 05:37:36

标签: php jquery codeigniter uploadify

在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
}

?>

我正在尝试将uploadify与CodeIgniter框架集成,因此我使用控制器功能来处理上传。我不想在控制器中的函数中编写很多echo命令,我试图使用“return 1”但它不起作用。

有什么办法吗?

1 个答案:

答案 0 :(得分:0)

你必须在某个时候回应,但为了更好地组织并避免你可以做的许多回声:

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
?>

希望这会有所帮助。干杯