我正在尝试在上传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
看起来我所要做的就是在错误区域内移动扩展检查。一切都好。谢谢你的回复
答案 0 :(得分:0)
$ file_name在您的代码中错误地定义了$ name。
try {
move_uploaded_file
}
catch($err) {
echo $err;
}