2017-01-30 66 views
0

我有一个很好的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]); 我添加时间到文件但这会增加文件的前面,但如何名称之后扩展之前添加。

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

感谢您的帮助。

回答

0
<?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); 
?> 
+0

,当我把在用strtolower我file_array我有错误:用strtolower()预计参数1是字符串,数组给定 – Janis

+0

变化$ _FILES [ 'file_array']代替$ _FILES [ 'myfile的'] –

+0

仍相同。 – Janis