我希望能够将图片上传到文件夹并将其文件路径上传到 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
答案1
如果您想更改文件名,只需使用 $name = RAND(); 我不认为您可以将文件名仅插入一行,也许您可以使用更新语句,但这有点超出我的 php 技能范围。
答案2
(如果这不是你所问的,请再次评论你的问题)
好的,我明白了。
要创建一个随机名称,您可以
time()
在文件名中使用,因为随机函数有可能两个文件名相同(如果这可能是您的系统的问题)。例如time().$_FILES["uploadPic"]["name"] // if file name is john.jpg it will save file name something like 1302827272john.jpg
虽然不清楚您问的是什么,但这可能会有所帮助。
如果一条记录的 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);