我想更改上传图像的名称

时间:2019-03-05 10:12:32

标签: php image gallery

我想更改上传图像的名称。这是我的PHP代码。我正在做一个简单的电子商务网站。 如果有人可以帮助我,我如何添加代码以更改图像名称并将其保存在数据库中。 谢谢!

 /*
 * Upload files.
 */
if (!empty($_FILES)) {
    if (isset($_FILES['file']['error'])) {
        foreach ($_FILES['file']['error'] as $uploadedFileKey => $uploadedFileError) {
            if ($uploadedFileError === UPLOAD_ERR_NO_FILE) {
                $errors[] = 'You did not provide any files.';
            } elseif ($uploadedFileError === UPLOAD_ERR_OK) {
                $uploadedFileName = basename($_FILES['file']['name'][$uploadedFileKey]);

                if ($_FILES['file']['size'][$uploadedFileKey] <= UPLOAD_MAX_FILE_SIZE) {
                    $uploadedFileType = $_FILES['file']['type'][$uploadedFileKey];
                    $uploadedFileTempName = $_FILES['file']['tmp_name'][$uploadedFileKey];

                    $uploadedFilePath = rtrim(UPLOAD_DIR, '/') . '/' . $uploadedFileName;

                    if (in_array($uploadedFileType, $allowedMimeTypes)) {
                        if (!move_uploaded_file($uploadedFileTempName, $uploadedFilePath)) {
                            $errors[] = 'The file "' . $uploadedFileName . '" could not be uploaded.';
                        } else {
                            $filenamesToSave[] = $uploadedFilePath;
                        }
                    } else {
                        $errors[] = 'The extension of the file "' . $uploadedFileName . '" is not valid. Allowed extensions: JPG, JPEG, PNG, or GIF.';
                    }
                } else {
                    $errors[] = 'The size of the file "' . $uploadedFileName . '" must be of max. ' . (UPLOAD_MAX_FILE_SIZE / 10240) . ' KB';
                }
            }
        }
    }
}

2 个答案:

答案 0 :(得分:0)

您可以像这样使用rename()函数:

rename($uploadedFilePath, '/path/to/new/file.txt')

答案 1 :(得分:0)

只需更改$ uploadedFileName变量并将其设置为名称所需的值,就可以看到here move_uploaded_file函数的第二个参数是目的地,您需要在其中放置新名称。

请检查this以获得有关文件名的一些安全指导。