2016-11-19 55 views
-1

我正在做上传multimage文件并成功重命名。 但是,我不知道,如何获取我使用函数move_uploaded_file()重命名的文件的名称。我想获得NEWNAME插入到MySQLPHP - 我如何插入上传到MySQL的新文件名

if(isset($_POST['submit'])) 
    { 

    $count=count($_FILES["images"]["name"]); 


    for($i=0;$i<$count;$i++) 
     { 
     if ((($_FILES["images"]["type"][$i] == "image/gif") 
     || ($_FILES["images"]["type"][$i] == "image/jpeg") 
     || ($_FILES["images"]["type"][$i] == "image/png")) 
     && ($_FILES["images"]["size"][$i] < 100000)) 
     { 

      if ($_FILES["images"]["error"][$i] > 0) 
      { 
      echo "File Error : " . $_FILES["images"]["error"][$i] . "<br />"; 
       } 
       else 
      { 
      // echo "Upload File Name: " . $_FILES["images"]["name"][$i] . "<br />"; 
      // echo "File Type: " . $_FILES["images"]["type"][$i] . "<br />"; 
       //echo "File Size: " . ($_FILES["images"]["size"][$i]/1024) . " Kb<br />"; 

       if (file_exists("images/location/".$_FILES["images"]["name"][$i])) 
       { 
       echo "<b>".$_FILES["images"]["name"][$i] . " already exists. </b>"; 
       } 
       else 
       { 
move_uploaded_file($_FILES["images"]["tmp_name"][$i] ,"images/location/"."NEW_NAME!!!".$i.".jpg"); 
       // echo "Stored in: " . "images/location/" . $_FILES["images"]["name"][$i] ."<br />"; 
       ?> 

       <?php 
       } 
       } 
       }else 
      { 
       echo "Invalid file detail ::<br> file type ::".$_FILES["images"]["type"][$i] ." , file size::: ".$_FILES["images"]["size"][$i] ; 
       } 
      } 
       } 

..

 <form action = "" method="POST" enctype="multipart/form-data"> 
      <input type="file" name="images[]" size="20" /> 
      <input type="file" name="images[]" size="20" /> 
      <input type="file" name="images[]" size="20" /> 
      <input type="submit" name="submit"/> 
     </form> 
+0

“test_file里面.'_'。$ _ FILES [ “images”] [“name”] [$ i] –

+0

这是旧名称。 – tuchawat

回答

1

我在我的项目中使用这个

$temp = explode(".", $_FILES['image']['name']); 
$name = round(microtime(true)) . substr(md5(rand()), 0, 4) . '.' . end($temp); 
move_uploaded_file($_FILES['image']['tmp_name'], $name); 
//this is for single image upload 
//Here $name is the new image name. You can then use your mysql_insert function to insert new image name to the database 

//to upload multiple file just pass the file name as an array,tmp_name as an array 
public function __attachments_upload($name, $tmp_name) { 
    foreach ($name as $key => $value) { 
     $temp = explode(".", $value); 
     $name = round(microtime(true)) . substr(md5(rand()), 0, 4) . '.' . end($temp); 
     move_uploaded_file($tmp_name[$key], $name); 
     //here you can use mysql_insert 
    } 
} 
+0

我可以插入一次吗?我有3列在MySQL(图片1,图片2,图片3) – tuchawat

+1

你有固定图像,像3? 如果是,则使用答案的前3行创建一个函数,并为每个图像调用它。 或者您可以将您的图像数组传递给__attachment_upload函数 – Amir

+0

如果您认为答案没问题,请您接受答案 – Amir