上传后无法保留原始FileName

时间:2017-08-07 07:44:43

标签: php html file-upload filenames

我目前正在使用PHP 创建文件上传系统。我从互联网上获得了帮助并成功完成了这个项目。

但问题是上传后 FileName 会变成复杂的东西。例如:5987fff5b3dd83.21913884。

上传后有没有办法保留原来的名字。目前位置位于 Localhost ,但稍后我必须将其上传到我的网站。

index.php的代码

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>

<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit" name="submit">UPLOAD</button>
</form>

</body>
</html>

upload.php的代码

<?php
if (isset($_POST['submit'])) {
$file = $_FILES['file'];

$fileName = $file['name'];
$fileTmpName = $file['tmp_name'];
$fileSize = $file['size'];
$fileError = $file['error'];
$fileType = $file['type'];

$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));

$allowed = array('jpg', 'jpeg', 'png', 'pdf');

if (in_array($fileActualExt, $allowed)) {
    if ($fileError === 0) {
        if ($fileSize < 1000000) {
            $fileNameNew = uniqid('', true).".".$fileActualExt;
            $fileDestination = 'uploads/'.$fileNameNew;
            move_uploaded_file($fileTmpName, $fileDestination);
            echo "OK";
            header("Location: ab.html");
        } else {
            echo "Your file is too big!";
        }
    } else {
        echo "There was an error uploading your file!";
    }
} else {
    echo "You cannot upload files of this type!";
}
}

请建议解决问题的可行方法。

此致

严厉的Bansal

2 个答案:

答案 0 :(得分:0)

评论此行

 $fileNameNew = uniqid('', true).".".$fileActualExt;

如何发表评论

// $fileNameNew = uniqid('', true).".".$fileActualExt;

您使用的是uniqid函数,它会生成新的文件名。

然后添加

$fileNameNew = $fileName;

答案 1 :(得分:0)

您正在做的是将随机值分配给名称

 $fileNameNew = uniqid('', true).".".$fileActualExt;

这样做

 $fileNameNew = $fileName;