我制作了一个简单的上传表单,但当我尝试上传某些内容时,该文件的名称会发生变化(例如photo.jpg
>> photo.jpg.jpg
- 双重扩展名。)
我的代码:
$place = realpath($_SERVER["PHP_SELF"]);
$name = $place.$_FILES['file']['name'];
$f1 = strchr($name,'.');
$f2 = strtolower($f1);
$name = $place.$name.$f2;
if ($_POST['up']) {
if (file_exists($name)) {
echo '[-] The File Already Exist ! ';
} else {
$upload = move_uploaded_file($_FILES['file']['tmp_name'],$name);
}
if (isset($upload)) {
echo '[+] The File "'.$_FILES['file']['name'].'" uploaded succsessfully';
}
}
答案 0 :(得分:0)
这是因为您创建$name
变量的方式。
首先创建$name = $place.$_FILES['file']['name'];
其中$_FILES['file']['name']
是文件的全名。随着扩展。
之后你说$name
是路径(没有逻辑),你再次添加文件的全名和扩展名。只需删除第二个$name = $place.$name.$f2;