переместить имя файла с уникальным идентификатором из новой папки в базу данных SQL

Я огляделся вокруг и не нашел особенно то, что я после.
У меня довольно много форм с вводом текста и загрузкой файлов.

Я понял, как загрузить файл, дать ему уникальный идентификатор и поместить его в папку на моем веб-сервере. Довольно плавный ход. Тем не менее, я хотел бы также добавить этот новый идентификатор в мою базу данных MySQL.

Я разделил свою страницу upload.php с текстовыми формами, идущими в базу данных

<?php

//Connecting and Sending data to the database follows
$dbc = mysqli_connect('localhost', 'root', 'root', 'surfboardhub')
or die('Error connecting to MySQL server');

//Get values from
$location = "";
$price = "";
$thick = "";
$width = "";
$height ="";
$model = "";
$brand = "";
$email = "";
$category = "";

if(isset($_POST['location'])){ $location = $_POST['location']; }
if(isset($_POST['price'])){ $price = $_POST['price']; }
if(isset($_POST['thick'])){ $thick = $_POST['thick']; }
if(isset($_POST['width'])){ $width = $_POST['width']; }
if(isset($_POST['height'])){ $height = $_POST['height']; }
if(isset($_POST['model'])){ $model = $_POST['model']; }
if(isset($_POST['brand'])){ $brand = $_POST['brand']; }
if(isset($_POST['email'])){ $email = $_POST['email']; }

//if(isset($_POST['image'])){ $imagename = $_POST['imagename']; }
//if(isset($_POST['mime'])){ $mime = $_POST['mime']; }

$query = "INSERT INTO uploads (location, price, thick, width, height, model, brand, email,category)
VALUES ('$location', '$price','$thick','$width','$height', '$model', '$brand', '$email','$category')";

$result = mysqli_query($dbc,$query)
or die('Error querying database.');

mysqli_close($dbc);

а затем мой бит, чтобы получить файл в новом месте на моем веб-сервере.

$name = $_FILES['image']['name'];
$extension = strtolower(substr($name, strpos($name, '.') + 1));
$type = $_FILES['image']['type'];

$tmp_name = $_FILES['image']['tmp_name'];

if (isset($name)) {
if (!empty($name)) {
if (($extension=='jpg'||$extension=='jpeg'||$extension=='png'||$extension=="gif")&&$type=='image/jpeg'||$type=='image/png'||$type=='image/gif') {$location = 'uploads/';
$location = $location . uniqid();if (move_uploaded_file($tmp_name, $location.$name)) {
echo 'uploaded!';
}

else {
echo 'There was an error.';
}} else {
echo 'File must be jpg/jpeg, png, or gif.';
}

} else {
echo 'Please choose a file';
}
}
?>

По сути, мне нужно получить этот новый уникальный идентификатор, чтобы перейти туда, куда идет текстовая информация, потому что все они отправляются одновременно. И я хотел бы быть в состоянии выяснить, кто загрузил, что если нужно. Если у него не было уникального идентификатора, я мог бы заставить его работать, но по какой-то причине наличие этого уникального билета сбивает меня с толку. Мысли? Весьма признателен.

1

Решение

Спасти uniqid() к переменной PHP, а затем вы можете использовать его в более чем одном месте:

Сначала создайте ID:

<?php
$ID = uniqid();
?>

Затем сохраните файл, используя ваш новый $ID переменная:

<?php
$name = $_FILES['image']['name'];
$extension = strtolower(substr($name, strpos($name, '.') + 1));
$type = $_FILES['image']['type'];

$tmp_name = $_FILES['image']['tmp_name'];

if (isset($name)) {
if (!empty($name)) {
if (($extension=='jpg'||$extension=='jpeg'||$extension=='png'||$extension=="gif")&&$type=='image/jpeg'||$type=='image/png'||$type=='image/gif') {
$location = 'uploads/';
$location = $location . $ID;

if (move_uploaded_file($tmp_name, $location.$name)) {
echo 'uploaded!';
} else {
echo 'There was an error.';
}
} else {
echo 'File must be jpg/jpeg, png, or gif.';
}
} else {
echo 'Please choose a file';
}
}
?>

Затем сохраните ваши данные в БД, включая $ ID

<?php
//Connecting and Sending data to the database follows
$dbc = mysqli_connect('localhost', 'root', 'root', 'surfboardhub')
or die('Error connecting to MySQL server');

//Get values from
$location = "";
$price = "";
$thick = "";
$width = "";
$height ="";
$model = "";
$brand = "";
$email = "";
$category = "";

if(isset($_POST['location'])){ $location = $_POST['location']; }
if(isset($_POST['price'])){ $price = $_POST['price']; }
if(isset($_POST['thick'])){ $thick = $_POST['thick']; }
if(isset($_POST['width'])){ $width = $_POST['width']; }
if(isset($_POST['height'])){ $height = $_POST['height']; }
if(isset($_POST['model'])){ $model = $_POST['model']; }
if(isset($_POST['brand'])){ $brand = $_POST['brand']; }
if(isset($_POST['email'])){ $email = $_POST['email']; }

//if(isset($_POST['image'])){ $imagename = $_POST['imagename']; }
//if(isset($_POST['mime'])){ $mime = $_POST['mime']; }

$query = "INSERT INTO uploads (ID, location, price, thick, width, height, model, brand, email,category)
VALUES ('$ID', '$location', '$price','$thick','$width','$height', '$model', '$brand', '$email','$category')";

$result = mysqli_query($dbc,$query)
or die('Error querying database.');

mysqli_close($dbc);
?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector