加载文件时显示错误

时间:2015-05-27 19:20:37

标签: php upload

我正在尝试在上传torrent文件时显示错误但我没有成功。这是问题代码:

if (empty($_POST) === false) {
    $required_fields = array('torr', 'name', 'genre', 'cat', 'descr');
    foreach($_POST as $key=>$value){
        if (empty($value) && in_array($key, $required_fields) === true){
            $errors[] = "<font color='#eeeeee'> Campurile marcate cu * sunt obligatorii.</font><br>";
            break 1;
        }
    }
}  

这是我的上传代码:

if (isset($_FILES['torr']) === true){

    $allowed = array('torrent');
    $file_name = $_FILES['torr']['name'];
    $file_extn = strtolower(end(explode('.' ,$file_name)));
    $file_temp = $_FILES['torr']['tmp_name'];
    if(in_array($file_extn, $allowed) === false){
    $errors[] = "nu`i fisier torent";
    }else{
    $file_path = 'media/torr/' . $name . '-www.LegacyRo.info-' .substr(md5(time()), 0, 10) . '.' . $file_extn;
    move_uploaded_file($file_temp, $file_path);

}

而不是在我尝试上传其他类型的文件时显示错误,我得到了这个:

注意:未定义的变量:x / y / z中的file_path

我知道查询会跳出file_path,因为不允许扩展名,但我希望它显示为错误。

有什么想法吗?

这里是粘贴箱,以便更好地理解: http://pastebin.com/z3vkRVUx

看起来我所要做的就是在错误区域内移动扩展检查。一切都好。谢谢你的回复

1 个答案:

答案 0 :(得分:0)

$ file_name在您的代码中错误地定义了$ name。

try {
    move_uploaded_file
}
catch($err) {
    echo $err;

}