gpt4 book ai didi

php图片上传和命名失败

转载 作者:搜寻专家 更新时间:2023-10-31 21:22:42 27 4
gpt4 key购买 nike

我有一个小表格来添加类别。我的表格字段如下:

姓名 必填

描述 不需要

照片 不需要

它会创建一个包含所有信息的类别,它甚至会在数据库中插入图像名称。

我遇到的问题是它不会将图像移动到上传文件夹。它还会按如下方式重命名图像:如果图像名称是 avatar.jpg,它将在数据库字段中将其重命名为 85789avatar.jpg

我需要它来重命名图像,如下所示 O1CCJDSXBOM2.jpg

最后一个问题是图像不是必需的,如果您将其留空,它仍然会在数据库字段中输入 89439 个数字。

if (isset($_POST['submit'])) {

$Name = $_POST['name'];
$Description = $_POST['description'];

if (empty($Name)) {
$errors[] = "Name Required.";
}
if (!empty($errors)) {
echo validation_errors($errors[0]);

} else {

$file = rand(1000, 100000). $_FILES['photo']['name'];
$file_loc = $_FILES['photo']['tmp_name'];
$file_size = $_FILES['photo']['size'];
$folder = "uploads/";

if (($file_size > 2097152)) {

echo validation_errors("Your avatar exceeds file size");

} else {

move_uploaded_file($file_loc, $folder, $file);

$db = dbconnect();
$stmt = $db->prepare("INSERT INTO discussion_categories(Name, Description, Photo) VALUES (?,?,?)");
$stmt->bind_param('sss', $Name, $Description, $file);
$stmt->execute();
$stmt->close();

header("Location: managecategories.php");

最佳答案

it will not move the image to the uploads folder also it will rename the image as follows. if image name is avatar.jpg ti will rename it 85789avatar.jpg in the database field

move_uploaded_file()需要两个参数,而不是三个。更新这一行:

move_uploaded_file($file_loc, $folder, $file);

为此(将文件名附加到文件夹):

move_uploaded_file($file_loc, $folder . $file);

the last issue is the image is not required and if you leave it blank it still puts 89439 numbers in the database field.

因为 move_uploaded_file()返回 boolean ,代码可以更新为仅在文件上传成功时插入一条记录。

if (move_uploaded_file($file_loc, $folder . $file)) {
$db = dbconnect();
$stmt = $db->prepare("INSERT INTO discussion_categories(Name, Description, Photo) VALUES (?,?,?)");
$stmt->bind_param('sss', $Name, $Description, $file);
$stmt->execute();
$stmt->close();
}

关于php图片上传和命名失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43334007/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com