简体   繁体   English

在php上传之前如何重命名文件

[英]how to rename file before upload in php

I want to rename file dynamically and then upload it. 我想动态重命名文件,然后上传。 I am fetching name of file from DB. 我正在从数据库获取文件名。 But when I rename file it's not taking name value coming from DB. 但是,当我重命名文件时,它并没有采用来自数据库的名称值。 It's considering static part I am adding to it. 我正在考虑添加静态部分。 Here is my code 这是我的代码

uploadId.php: uploadId.php:

      $con=mysqli_connect("localhost","root","****","database");
      $result= mysqli_query($con,"SELECT op_id FROM Optrs_info WHERE op_id='1234'");
      $res= mysqli_fetch_array($result); 
      $opid= $res["op_id"];
      $id= $opid . "add2";
      $_SESSION['id']= $id;

And here I am uploading file with new name 在这里,我正在上传新名称的文件

<?php

  include("uploadId.php");
  $temp = explode(".", $_FILES["uploaded_file"]["name"]);
  $extension = end($temp);
  $path="/var/www/tcpdf/pictures/";

 $filename=basename($_FILES["uploaded_file"]["name"]);
 $filename =  $_SESSION['id'] . (string) strrchr($filename, '.');
 $filename =  $_SESSION['id'] . '.' . $extension;

  if(move_uploaded_file($_FILES["uploaded_file"]["tmp_name"],$path . $filename))
  {
      echo "Uploaded";
  }
?>

When I tried new file uploaded with add2.jpeg but $opid value is not getting added. 当我尝试使用add2.jpeg上传新文件但未添加$ opid值时。

Try this: 尝试这个:

<?php
include("uploadId.php");
$temp = explode(".", $_FILES["uploaded_file"]["name"]);
$extension = end($temp);
$path="/var/www/tcpdf/pictures/";

 $filename = basename($_FILES["uploaded_file"]["name"]);
 $filename = $_SESSION['id'] . strrchr($filename, '.') . $extension;

 if(move_uploaded_file($_FILES["uploaded_file"]["tmp_name"],$path . $filename))
 {
     echo "Uploaded";
 }
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM