php - 向数组中的图像添加时间戳

标签 php mysql function

我有一个运行良好的 php 代码,一切都很好。所有图像都上传到服务器并将信息存储在数据库中。但我决定在文件扩展名之前为每个上传的文件添加时间,并且还希望将该信息存储在数据库中。

这是我的代码:

<?php
function jaunProd() {
    include 'database.php';
    $message = '';
    if (isset($_POST['jaunProdPoga'])) {
        if(!empty($_POST['prod_vards']) && !empty($_POST['kat_id']) && !empty($_POST['subkat_id']) && !empty($_POST['prod_apraksts'])  ){
            $prod_vards = $_POST['prod_vards'];
            $kat_id = $_POST['kat_id'];
            $subkat_id = $_POST['subkat_id'];
            $name_array = $_FILES['file_array']['name'];
            $tmp_name_array = $_FILES['file_array']['tmp_name'];
            $type_array = $_FILES['file_array']['type'];
            $size_array = $_FILES['file_array']['size'];
            $error_array = $_FILES['file_array']['error'];
            for ($i=0; $i <count($tmp_name_array); $i++){ 
                move_uploaded_file($tmp_name_array[$i],'img/prod_img/'.time().$name_array[$i]);
            }
            $prod_kods = $_POST['prod_kods'];
            $prod_cena = $_POST['prod_cena'];
            $prod_apraksts = $_POST['prod_apraksts'];
            $stmt=$conn->prepare("INSERT INTO produkti (prod_vards, kat_id, subkat_id, prod_img1, prod_img2, prod_img3, prod_img4, prod_img5, prod_kods, prod_cena, prod_apraksts) VALUES ('$prod_vards', '$kat_id', '$subkat_id', '$name_array[0]', '$name_array[1]', '$name_array[2]', '$name_array[3]', '$name_array[4]', '$prod_kods', '$prod_cena', '$prod_apraksts')");
            if($stmt->execute()){
                $message = '<p class="green">Produkts pievienots </p>';
            } else {
                $message = '<p class="red">SEIT LAIKA MIR KLIASHF </p>';
            }
        } else {
            $message = '<p class="red">Lauki ar * nedrīkst būt tukši! </p>';
        }
    }
    echo $message;
}
?>

此处 move_uploaded_file($tmp_name_array[$i],'img/prod_img/'.time().$name_array[$i]); 我向文件添加时间,但这会添加到文件前面,但如何在名称之后和扩展名之前添加。

而且我也不知道如何将动态信息存储在数据库中。

感谢您的帮助。

最佳答案

<?php
$ImageName = str_replace(' ', '-', strtolower($_FILES['myfile']['name']));
$ImageExt = substr($ImageName, strrpos($ImageName, '.'));
$ImageExt = str_replace('.', '', $ImageExt);
$ImageName = preg_replace("/\.[^.\s]{3,4}$/", "", $ImageName);
$NewImageName =  $ImageName .time(). '.' . $ImageExt;
move_uploaded_file($tmp_name_array[$i],'img/prod_img/'.$NewImageName);
?>

关于php - 向数组中的图像添加时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41932662/

相关文章:

excel - "Concatenate If"按行的 VBA 用户定义函数

javascript - 将正则表达式翻译为 PHP

php - 声明一个可选的数组参数

php - 无法无错误地添加开关例程

mysql - 有什么办法可以让MySQL server 'push' DB更新到客户端程序?

function - 编写函数时,在KDB中(关闭}而没有匹配打开{)错误

php - 只上传txt文件

mysql数据同步更改时区

php - 多重通知 : Undefined variable errors when I call a function

c++ - 如果编译器可以自行内联函数,为什么内联函数必须在 header 中为 "defined"