1

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

Например вместо:

id    PicturePath                  size
1     file1.jpg                    90832
2     file2.jpg                    84593

Я хочу делать:

id    PicturePath1                 PicturePath2                 PicturePath3
1     file1.jpg                    file3.jpg                    file5.jpg  

И также, поскольку это загружает, это должно изменить имя исходного файла, например, если Пользователь загружает DSC0009.jpg, это должно загрузить в папку загрузки файла и Базу данных MySQL как: someRandomFileName8087935.jpg

2 ответа2

0

если вы хотите изменить имя файла, просто используйте $ name = RAND(); Я не думаю, что вы можете вставлять имена файлов только в одну строку, может быть, вы можете использовать оператор обновления, но это немного выходит за рамки моих навыков php для ориентации.

0

(если это не то, что вы просили, прокомментируйте ваш вопрос еще раз)

Хорошо, что я понимаю.

  1. Для создания случайного имени вы можете использовать time() в имени файла, потому что случайная функция имеет вероятность того, что имена двух файлов могут быть одинаковыми (если это может быть проблемой для вашей системы). например

    time().$_FILES["uploadPic"]["name"] // if file name is john.jpg
    it will save file name something like 1302827272john.jpg
    
  2. Непонятно, что вы спросили, но это может помочь.

Было бы лучше, если бы вы использовали несколько столбцов для picturePaths для одной записи, но если у вас есть только один столбец picturePath, вы можете обновить предыдущее поле, добавив новое имя файла со старым именем файла. Например:

// get old path using 
Select picturePath as path 
From your_table_name 
where your_table.id = '1';

$path = path.','.$newFileName; // this is suedo code

// update your picture path using update query
update table_name SET picturePath = $path where id = '1'

И помните, теперь вы должны разделить пути изображения, когда вы будете использовать его, вы можете использовать preg_split

preg_split('/,/', $path, -1, PREG_SPLIT_NO_EMPTY);

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .