Загрузка изображения

Я сделал загрузку изображения. Код работает отлично. Я хочу вставить свой идентификатор сессии при сохранении изображений в базе данных. Как сохранить идентификатор сеанса в файле вставки query.view для отображения изображений в галерее. Я хочу показать их как пользователя.

Вот почему мне нужно сохранить идентификатор пользователя, чтобы получить определенные изображения для конкретного пользователя. Теперь он выбирает все изображения из базы данных. Я хочу сохранить идентификатор пользователя для отслеживания конкретных изображений. Здесь я начал свою сессию. Это мой идентификатор сессии.

   <?php
session_start();   //what can be done to save this id.I need save this staffid to save in the database.What is the process

if(!$this->session->userdata('staffid')){             redirect("login/checkLogin");
}
?>

<?php

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

   if (isset($_POST["sub1"]) || isset($_POST["sub2"])) {
// include resized library
require_once('./php-image-magician/php_image_magician.php'); //library for showing images in thumbnail.This library is helping for showing images as gallery.
$msg = "";
$valid_image_check = array("image/gif", "image/jpeg", "image/jpg", "image/png", "image/bmp");
if (count($_FILES["user_files"]) > 0) {
$folderName = "uploads/";

$sql = "INSERT INTO tbl_images(image_name) VALUES (:img)";  //have insert my session id here.What is the procedure to insert session id in sql insert query.
$stmt = $DB->prepare($sql);

for ($i = 0; $i < count($_FILES["user_files"]["name"]); $i++) { //Here is the loop for saving multiple images in database.

if ($_FILES["user_files"]["name"][$i] <> "") {

$image_mime = strtolower(image_type_to_mime_type(exif_imagetype($_FILES["user_files"]["tmp_name"][$i])));
// if valid image type then upload
if (in_array($image_mime, $valid_image_check)) {

$ext = explode("/", strtolower($image_mime));
$ext = strtolower(end($ext));
$filename = rand(10000, 990000) . '_' . time() . '.' . $ext;
$filepath = $folderName . $filename;
//this will save the folder name and file path in database.There is no problem saving them.Working successfully.

if (!move_uploaded_file($_FILES["user_files"]["tmp_name"][$i], $filepath)) {
$emsg .= "Failed to upload <strong>" . $_FILES["user_files"]["name"][$i] . "</strong>. <br>";
$counter++;
} else {
$smsg .= "<strong>" . $_FILES["user_files"]["name"][$i] . "</strong> uploaded successfully. <br>";

$magicianObj = new imageLib($filepath);
$magicianObj->resizeImage(100, 100);
$magicianObj->saveImage($folderName . 'thumb/' . $filename, 100);

/*             * ****** insert into database starts ******** */
try {
$stmt->bindValue(":img", $filename); //i have to insert my session id in here.
$stmt->execute();
$result = $stmt->rowCount();
if ($result > 0) {
// file uplaoded successfully.
} else {
// failed to insert into database.
}
} catch (Exception $ex) {
$emsg .= "<strong>" . $ex->getMessage() . "</strong>. <br>";
}
/*             * ****** insert into database ends ******** */
}
} else {
$emsg .= "<strong>" . $_FILES["user_files"]["name"][$i] . "</strong> not a valid image. <br>";
//After checking file type if anything goes wrong it will show this message.File type is given.
}
}
}$msg .= (strlen($smsg) > 0) ? successMessage($smsg) : "";
$msg .= (strlen($emsg) > 0) ? errorMessage($emsg) : "";
} else {
$msg = errorMessage("You must upload atleast one file");//validation for uploading files.
}
}
?>

-1

Решение

Хорошо, во-первых, вы должны понимать сессии Описание W3Schools

Если я вас правильно понимаю

  • Вы хотите сохранить ссылку текущего пользователя на изображение (которое сохраняется в вашем сеансе), а затем
  • потяните, чтобы пользователи сохранили изображения на более позднем этапе.

Это правильно?

Предполагая, что «staffid» уникален:

  1. создайте столбец в таблице изображений:

    ALTER TABLE tbl_images ДОБАВЛЯТЬ staffid INT NOT NULL

  2. затем измените ваш оператор вставки на

    $ sql = «INSERT INTO tbl_images (image_name, staffid) VALUES (: img,: staffid)»;

  3. а также

    $ stmt-> bindValue («: img», $ filename);
    $ stmt-> bindValue («: staffid», $ this-> session-> userdata (‘staffid’));

  4. Затем при выборе нужно только передать текущим пользователям id, добавить предложение where и подготовить запрос соответствующим образом. Это вернет все изображения, сохраненные этим пользователем:

    ГДЕ staffid =: staffid;

1

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

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

По вопросам рекламы [email protected]