gpt4 book ai didi

PHP - 多个文件到数据库中一个字段的路径

转载 作者:行者123 更新时间:2023-11-29 18:34:17 25 4
gpt4 key购买 nike

我有一个包含文件选择的表单。我希望将所选文件的路径在小数点后保存到数据库中的单个字段中。我遇到的问题是仅保存第一个选定的文件,并且我想将所有小数位保存在一个字段中。例如上传/1.png、上传/2.png、上传/3.png 等..(PHP 中)

我怎样才能实现这个目标?

代码:

if( !empty($_FILES['files']['name'][0]) ) {
//Zmienne formularza
$files = $_FILES['files'];
$thumb = $_FILES['thumbnail'];
$text = $_POST['add-project_text'];
$h2text = $_POST['add-project_name'];

//Dozwolone pliki
$allowed = array('txt', 'jpg', 'jpeg', 'png', 'gif', 'svg', 'psd');

foreach ($files['name'] as $position => $file_name) {
//Wyciągnięcie parametrów z plików
$file_tmp = $files['tmp_name'][$position];
$file_size = $files['size'][$position];
$file_error = $files['error'][$position];

//Dla zdjęć ( wyciągniecie rozszerzenia pliku )
$file_ext = explode('.', $file_name);
$file_ext = strtolower(end($file_ext));
$datenow = date('Y-m-d H:i:s');

//Dla miniaturki
$file_extThumb = explode('.', $thumb['name']);
$file_extThumb = strtolower(end($file_extThumb));

//Jeżeli rozszerzenie jest prawidłowe
if (in_array($file_ext, $allowed)) {

//Jeżeli plik nie ma żadnych błędów
if($file_error === 0) {
//Jeżeli plik nie jest większy niż 15MB
if($file_size <= 15728640) {
//Jeżeli folder uzytkownika istnieje
if(file_exists('uploads/' . $_SESSION['login'])) {

} else {
//Jeżeli nie, stwórz go.
mkdir('uploads/' . $_SESSION['login']);
}

//Dla zdjęć
$file_new_name = uniqid('', true) . '.' . $file_ext;
//Dla miniaturki
$file_new_nameThumb = 'Thumbnail.' . uniqid('', true) . '.' . $file_extThumb;

//Dla zdjęć
$file_destination = 'uploads/' . $_SESSION['login'] . '/' . $file_new_name;
//Dla miniaturki
$file_destinationThumb = 'uploads/' . $_SESSION['login'] . '/' . $file_new_nameThumb;
//Jeżeli wszystko jest ok, przenieś go do odpowiedniego folderu
if(move_uploaded_file($file_tmp, $file_destination)) {

//Jeżeli wszystko jest ok, przenieś go do odpowiedniego folderu
if(move_uploaded_file($thumb['tmp_name'], $file_destinationThumb)) {
$sqlSTM = $dbh->prepare(" INSERT INTO projects (post_content, post_images, post_image, post_date) VALUES (:post_content, :post_images, :post_image, :post_date) ");
$sqlSTM->bindParam(":post_content", $text, PDO::PARAM_STR);
$sqlSTM->bindParam(":post_images", $file_destination, PDO::PARAM_STR);
$sqlSTM->bindParam(":post_image", $file_destinationThumb, PDO::PARAM_STR);
$sqlSTM->bindParam(":post_date", $datenow, PDO::PARAM_STR);

$_SESSION['UploadedSuc'] = 'Udało się! Dodano nowy projekt!';
}
}
} else {
$file_size_r = $file_size / 1000000;

echo 'Wystąpił błąd przy dodawaniu pliku, prawdopodobnie plik jest za duży. Maksymalna wielkość pliku to 15MB. Twój plik: ' . number_format($file_size_r, 0) . 'MB';
}
} else {
echo 'Wystąpił błąd przy dodawaniu pliku: ' . $file_error;
}
} else {
echo 'To rozszerzenie: <b>' . $file_ext . '</b> jest niedozwolone.';
}
}

我希望这些文件的路径保存在变量“:post_images”下。

最佳答案

你可以这样做:

// Saving the urls
$post_images = json_encode([$url1, $url2, $url3]);

// And for getting the urls
$post_images = json_decode($data['urls']);

关于PHP - 多个文件到数据库中一个字段的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45436545/

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